> ## Documentation Index
> Fetch the complete documentation index at: https://docs.aftersell.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Upselle zastępujące

> Jak działają upselle zastępujące (Replacement Upsells) w Aftersell i jak je skonfigurować — od wymiany wariantu i ilości po zamianę zakupu jednorazowego na subskrypcję.

Replacement Upsell pozwala wymienić jednorazowy produkt w zamówieniu klienta na inny produkt na stronie post-purchase. Zamiennikiem może być subskrypcyjna wersja tego samego produktu, inny wariant lub ilość albo zupełnie inny produkt. Klient akceptuje jednym kliknięciem, pierwotna pozycja zamówienia jest zwracana, a pozycja zastępcza jest dodawana do zamówienia.

<Note>
  Replacement Upsell jest obecnie funkcją w wersji Beta. Aby korzystać z niej w swoim sklepie, napisz do pomocy technicznej przez czat w aplikacji, a włączymy ją na Twoim koncie. Przełącznik **Replace item in original order with upsell** nie pojawi się w edytorze ofert, dopóki funkcja nie zostanie włączona.
</Note>

<Warning>
  Replacement Upsell działa tylko wtedy, gdy pierwotna pozycja zamówienia jest zakupem jednorazowym. Jeśli zamówienie klienta zawiera już subskrypcję, oferta jest po cichu pomijana. Aby zmodyfikować istniejącą subskrypcję (zmienić częstotliwość, wymienić produkt lub jedno i drugie), użyj zamiast tego [Subscription Upgrade](/pl/aftersell/subscription-upgrades).
</Warning>

<Warning>
  Gdy klient zaakceptuje Replacement Upsell, Aftersell pobiera pełną cenę produktu zastępczego i zwraca koszt pierwotnego. Wyciąg bankowy klienta pokaże dwie transakcje, mimo że kwota netto odpowiada wyświetlanemu przyciskowi Accept Offer. Zaplanuj treść oferty i e-mail potwierdzający post-purchase tak, aby klienci nie myśleli, że zostali obciążeni podwójnie.
</Warning>

<div id="which-feature-do-you-need">
  ## Której funkcji potrzebujesz?
</div>

Trzy funkcje post-purchase związane z subskrypcjami, trzy różne zadania. Użyj tego schematu, aby wybrać właściwą.

<Info>
  **Czy zamówienie klienta zawiera już subskrypcję?**

  → **Tak** → użyj [Subscription Upgrade](/pl/aftersell/subscription-upgrades). Modyfikuje istniejącą umowę subskrypcyjną klienta w Recharge, Skio lub Loop (zmiana częstotliwości, wymiana produktu lub jedno i drugie).

  → **Nie** → czytaj dalej.

  **Czy chcesz, aby klient zachował to, co kupił, I otrzymał cykliczną subskrypcję, czy całkowicie zastąpić to, co kupił?**

  → **Zachować zakup + dodać do niego nową subskrypcję** → użyj [Subscription Upsell](/pl/aftersell/subscriptions_in_post_purchase_offers).

  → **Zastąpić zakup czymś innym** (wersją subskrypcyjną, innym produktem, innym wariantem lub ilością) → użyj **Replacement Upsell** (ten przewodnik).
</Info>

<div id="what-is-a-replacement-upsell">
  ## Czym jest Replacement Upsell?
</div>

Gdy klient akceptuje Replacement Upsell:

1. Pierwotna jednorazowa pozycja zamówienia jest **zwracana** w Shopify.
2. Pozycja zastępcza jest **dodawana** do tego samego zamówienia — jako zakup jednorazowy lub subskrypcja (w zależności od konfiguracji).
3. Klient płaci za zamiennik w ramach tego samego zamówienia.
4. Na jego wyciągu widoczne są dwie transakcje: zwrot za pierwotny produkt i obciążenie za zamiennik. Wyświetlany przycisk Accept Offer odzwierciedla **różnicę netto** między dwiema cenami.

Jest to zaimplementowane przy użyciu API post-purchase Shopify:

* W przypadku jednorazowego zamiennika (inny wariant, ilość lub produkt) Aftersell wysyła changeset `add_variant`.
* W przypadku zamiennika subskrypcyjnego Aftersell wysyła changeset `add_subscription`.
* Pierwotna pozycja zamówienia jest usuwana przez API zwrotów Shopify.

Aftersell nie wywołuje bezpośrednio API Twojej aplikacji subskrypcyjnej dla zamienników subskrypcyjnych — subskrypcja jest tworzona przez natywne Subscription API Shopify, a Twoja aplikacja subskrypcyjna przejmuje ją poprzez własną integrację z Shopify.

<div id="what-replacement-upsell-can-do">
  ## Co potrafi Replacement Upsell
</div>

Replacement Upsell obsługuje cztery scenariusze. W każdym przypadku **pierwotna pozycja zamówienia musi być zakupem jednorazowym**. Zamiennik może być jednorazowy lub subskrypcyjny.

* **Z jednorazowego na jednorazowy, ten sam produkt, inny wariant.** Na przykład wymiana rozmiaru Twin na rozmiar Queen.
* **Z jednorazowego na jednorazowy, ten sam produkt, inna ilość.** Na przykład wymiana pojedynczej butelki na 3-pak tego samego produktu. Włącz **Override quantity** na zamienniku, aby ustawić ilość, która zostanie wysłana.
* **Z jednorazowego na jednorazowy, zupełnie inny produkt.** Na przykład wymiana butelki startowej na pełnowymiarową wersję innego SKU.
* **Z jednorazowego na subskrypcję.** Na przykład wymiana jednorazowej butelki na miesięczną subskrypcję tej samej butelki lub na subskrypcyjną wersję innego produktu. To najczęstszy przypadek użycia.

<div id="what-replacement-upsell-cannot-do">
  ## Czego Replacement Upsell nie potrafi
</div>

Te scenariusze są **blokowane przez Aftersell w momencie wyświetlania oferty**. Oferta zostanie po cichu pominięta, jeśli zamówienie klienta pasuje do któregokolwiek z nich.

* **Z subskrypcji na zakup jednorazowy.** Usunięcie pozycji subskrypcyjnej nie anuluje umowy subskrypcyjnej w Recharge, Skio ani Loop. Klient nadal byłby obciążany, a dodatkowo otrzymałby zamiennik.
* **Z subskrypcji na inną subskrypcję.** Ta sama przyczyna co powyżej, a ponadto reguła Shopify „jedna subskrypcja na zamówienie” blokuje dodanie nowej subskrypcji do zamówienia, które już ją zawiera.
* **Z subskrypcji na inny wariant subskrypcji lub inną częstotliwość.** Ta sama przyczyna.

Jeśli potrzebujesz zmienić istniejącą subskrypcję klienta, użyj zamiast tego [Subscription Upgrade](/pl/aftersell/subscription-upgrades). Subscription Upgrade modyfikuje istniejącą umowę bezpośrednio w Recharge, Skio lub Loop, bez próby usunięcia i ponownego dodania pozycji subskrypcyjnej.

<Tip>
  Zawsze gdy Replacement Upsell zostaje pominięty (zablokowany scenariusz powyżej, nieobsługiwana bramka płatności lub pozycja wyzwalająca z rabatem), Aftersell automatycznie próbuje pokazać w zamian ofertę **downsell** z tego samego lejka. Skonfiguruj downsell jako rozwiązanie awaryjne zawsze, gdy używasz Replacement Upsell, aby kupujący nadal widział ofertę.
</Tip>

<div id="what-the-customer-sees">
  ## Co widzi klient
</div>

Zrozumienie perspektywy klienta zapobiega najczęstszemu zgłoszeniu do pomocy technicznej: „Dlaczego zostałem obciążony podwójnie?”

<div id="in-the-post-purchase-offer">
  ### W ofercie post-purchase
</div>

Przycisk Accept Offer pokazuje **różnicę netto** między produktem pierwotnym a zamiennikiem. Na przykład jeśli klient kupił butelkę za \$30, a Ty oferujesz 3-pak za \$45, przycisk Accept brzmi „Add \$15.00 to your order”. Jeśli zamiennik jest tańszy od oryginału, przycisk pokazuje kwotę do zwrotu.

Karta oferty pokazuje zdjęcie, tytuł i cenę produktu zastępczego. Karta oferty używa zdjęcia przypisanego do konkretnego wariantu, jeśli takie zostało oznaczone przy wariancie w Shopify. Jeśli wariant nie ma przypisanego zdjęcia, karta oferty korzysta z pierwszego zdjęcia produktu nadrzędnego. Oznacza to, że wymiana między dwoma wariantami tego samego produktu może zmienić zdjęcie lub nie — w zależności od tego, czy każdy wariant ma własne zdjęcie skonfigurowane w Shopify.

<div id="on-the-shopify-order-after-acceptance">
  ### W zamówieniu Shopify po akceptacji
</div>

Zamówienie ostatecznie pokazuje obie pozycje:

* Pierwotną pozycję z zastosowanym **zwrotem**.
* Nową pozycję dla zamiennika, obciążoną pełną ceną.

Suma zamówienia odzwierciedla wynik netto, ale wyciąg bankowy klienta pokaże dwie transakcje — jedno obciążenie za zamiennik i jeden zwrot za oryginał. W ten sposób Aftersell przetwarza akceptacje Replacement Upsell na poziomie płatności. Kwota netto odpowiada wyświetlanemu przyciskowi Accept Offer.

Aby ograniczyć zamieszanie:

* Umieść w treści oferty zdanie, które wprost opisuje mechanikę zwrotu i wymiany. Na przykład: „Gdy zaakceptujesz, zwrócimy koszt pierwotnego produktu i obciążymy Cię za zamiennik. Na wyciągu zobaczysz dwie pozycje — kwota netto to cena podana na tym przycisku.”
* Włącz automatyczny e-mail Aftersell z powiadomieniem o zwrocie dla upselli zastępujących, który wysyła klientowi potwierdzenie wyjaśniające zwrot.

<div id="in-the-subscription-provider-portal-when-replacement-is-a-subscription">
  ### W portalu dostawcy subskrypcji (gdy zamiennik jest subskrypcją)
</div>

Jeśli zamiennik jest subskrypcją, klient zobaczy nową subskrypcję w portalu klienta Twojego dostawcy subskrypcji (Recharge, Skio, Loop, Appstle, Smartrr, Stay.ai). Portal jest własnością Twojego dostawcy subskrypcji, nie Aftersell. Upewnij się, że e-mail powitalny Twojego dostawcy subskrypcji jest skonfigurowany tak, aby był wysyłany w ciągu kilku minut od akceptacji.

<div id="compatible-subscription-platforms">
  ## Zgodne platformy subskrypcyjne
</div>

Gdy zamiennik jest subskrypcją, Replacement Upsell działa z każdą aplikacją subskrypcyjną korzystającą z natywnego Subscription API Shopify. Aftersell nie wywołuje bezpośrednio API dostawców w tym przepływie — subskrypcja jest tworzona przez Shopify, a Twoja aplikacja subskrypcyjna przejmuje ją poprzez własną integrację z Shopify.

Zgodni dostawcy to m.in. Recharge, Skio, Loop, Stay.ai, Appstle, Smartrr, Bold Subscriptions (działający na natywnym API subskrypcji Shopify) oraz natywne plany sprzedaży Shopify.

Jeśli Twój produkt docelowy ma skonfigurowany plan subskrypcji przedpłaconej (na przykład co 3 miesiące z opłatą z góry), potwierdź u swojego dostawcy subskrypcji, że przedpłata jest obsługiwana jako cel zamiany. Obsługa przedpłat różni się w zależności od dostawcy.

<div id="payment-method-requirements">
  ## Wymagania dotyczące metod płatności
</div>

Aftersell jawnie blokuje Replacement Upsell w niektórych bramkach płatności, ponieważ nie są one w stanie niezawodnie obsłużyć wzorca zwrotu i ponownego obciążenia w oknie post-purchase:

* **Authorize.net** (`authorize_net`). Authorize.net wymaga rozliczenia transakcji przed wystawieniem zwrotu, a rozliczenie następuje z opóźnieniem, więc Aftersell nie może niezawodnie zwrócić kosztu oryginału i dodać zamiennika w ramach tego samego zamówienia Shopify. Jeśli Authorize.net jest Twoim procesorem płatności, kieruj tych klientów zamiast tego do ofert na stronie podziękowania.
* **Ręczne bramki płatności** (`manual`). Obejmuje to płatność przy odbiorze, niestandardowe metody płatności, checkouty z zamówień roboczych oraz każdy inny ręczny procesor płatności, który nie przechwytuje zapisanej autoryzacji. Replacement Upsell potrzebuje aktywnej zapisanej płatności, aby wystawić kolejne obciążenie, czego ręczne bramki nie zapewniają.

Gdy bramka płatności zamówienia jest jedną z powyższych, Replacement Upsell po cichu pomija ofertę. Powód pominięcia widoczny jest w przeglądarce zamówień Aftersell jako **„Payment gateway does not support replacement upsells.”**

Szerszą listę metod płatności wpływających na wszystkie oferty post-purchase Aftersell (nie tylko Replacement Upsell) znajdziesz w artykule [Metody płatności](/pl/aftersell/payment_methods).

<div id="creating-a-replacement-upsell-offer">
  ## Tworzenie oferty Replacement Upsell
</div>

<Frame>
  <img src="https://mintcdn.com/aftersell/SnVX3h-PpMMxQMDU/images/aftersell/replacement-upsells-offer-editor-setup.gif?s=c1865a7d11a614a24ec4dca59c53afda" alt="Konfigurowanie Replacement Upsell w edytorze ofert" width="856" height="480" data-path="images/aftersell/replacement-upsells-offer-editor-setup.gif" />
</Frame>

Aby utworzyć Replacement Upsell:

1. W panelu Aftersell przejdź do **Post-purchase funnels**.
2. Otwórz istniejący lejek lub kliknij **Add Funnel**.
3. Dodaj ofertę upsell i skonfiguruj ją.

Konfiguracja znajduje się w standardowej ofercie post-purchase, a kontrolki Replacement Upsell pojawiają się po ich włączeniu.

Oferta Replacement Upsell ma trzy osobne wybory produktów, które muszą być skonfigurowane spójnie, aby zamiana zadziałała:

* **Wyzwalacz lejka.** Ustawiany na poziomie lejka. Określa, które zamówienia widzą ofertę.
* **Produkt upsell.** Ustawiany w sekcji Upsell Products oferty. Produkt, który zostaje dodany do zamówienia, gdy klient zaakceptuje.
* **Produkt do zastąpienia.** Ustawiany w sekcji **Replace item in original order with upsell**, przez kliknięcie przycisku **Edit product to replace**. Dokładny produkt i wariant w koszyku klienta, który zostanie zwrócony i usunięty.

Jeśli **produkt do zastąpienia** nie odpowiada wariantowi faktycznie kupionemu przez klienta, Aftersell nie może znaleźć pasującej pozycji do usunięcia i zamiana po cichu się nie uruchamia.

<div id="step-1-configure-the-funnel-trigger">
  ### Krok 1: skonfiguruj wyzwalacz lejka
</div>

Wyzwalacz określa, które zamówienia widzą ofertę:

* **Wyzwalacz produktu.** Ustaw na jednorazowy produkt, który chcesz zastąpić. Bez tego oferta może uruchamiać się na niepowiązanych zamówieniach.
* **Wyzwalacz subskrypcji.** Ustaw na **do not include a subscription**. Zapewnia to, że oferta pokazuje się tylko klientom, których zamówienia nie zawierają już subskrypcji (która blokowałaby zamianę).

Wszystkie włączone wyzwalacze używają logiki AND. Każdy warunek musi być spełniony.

<div id="step-2-pick-the-upsell-product">
  ### Krok 2: wybierz produkt upsell
</div>

W edytorze oferty:

1. Kliknij **Add Upsell** i wyszukaj produkt, który klient ma otrzymać w zamian.
2. Jeśli zamiennik jest subskrypcją, wybierz **Subscription only** jako opcję zakupu i wskaż plan sprzedaży.
3. Jeśli zamiennik jest zakupem jednorazowym, wybierz **One-time purchase only**.
4. Jeśli wykonujesz wymianę wariantu lub ilości tego samego produktu, wybierz ten sam produkt i dostosuj kontrolki wariantu lub ilości.

<div id="step-3-enable-replacement-upsell">
  ### Krok 3: włącz Replacement Upsell
</div>

W ustawieniach zaawansowanych oferty włącz **Replace item in original order with upsell**. To przełącznik, który zamienia standardowy upsell w Replacement Upsell.

<Frame>
  <img src="https://mintcdn.com/aftersell/SnVX3h-PpMMxQMDU/images/aftersell/replacement-upsells-settings-toggles.gif?s=8ab356420e4339753620307d53e45035" alt="Ustawienia i przełączniki Replacement Upsell w edytorze ofert" width="1728" height="1080" data-path="images/aftersell/replacement-upsells-settings-toggles.gif" />
</Frame>

Po jego włączeniu możesz też skonfigurować:

* **Allow replacement when target has a discount.** Gdy jest wyłączone (domyślnie), Replacement Upsell pomija zamówienia, w których pozycja wyzwalająca ma rabat na poziomie zamówienia. Gdy jest włączone, zamiana nadal się uruchamia, ale rabat na pierwotnej pozycji jest zwracany razem z oryginałem (nie przenosi się na zamiennik). Zobacz [Obsługa rabatów](#discount-handling).
* **Override quantity.** Ustaw konkretną ilość dla pozycji zastępczej. Przydatne przy wymianie pojedynczej sztuki na wielopak.

<div id="step-4-set-the-product-to-replace">
  ### Krok 4: ustaw produkt do zastąpienia
</div>

Kliknij **Edit product to replace** i wybierz dokładny produkt oraz wariant, który ma zostać usunięty z zamówienia klienta po zaakceptowaniu oferty. Musi on odpowiadać temu, co klient faktycznie ma w koszyku.

W przypadku wymiany wariantów tego samego produktu (Small → Large) **produkt do zastąpienia** musi wskazywać konkretnie wariant Small. Jeśli wskażesz Large lub jakikolwiek wariant, którego klient nie kupił, oferta zostanie pominięta bez błędu.

<div id="step-5-add-optional-discount">
  ### Krok 5: dodaj opcjonalny rabat
</div>

Jeśli zamiennik jest subskrypcją, możesz zastosować rabat na pierwszy cykl, aby oferta była bardziej atrakcyjna. Rabat dotyczy pierwszego cyklu rozliczeniowego nowej subskrypcji, a przyszłe odnowienia są rozliczane według standardowej ceny subskrypcji.

W przypadku jednorazowych zamienników rabat dotyczy jednorazowego obciążenia w tym zamówieniu.

<div id="step-6-customize-the-offer-copy">
  ### Krok 6: dostosuj treść oferty
</div>

Opisz mechanikę zwrotu i wymiany wprost w treści oferty. Zalecane elementy:

* Tytuł: jasno opisuje zamianę (na przykład „Przejdź na 3-pak i oszczędzaj”).
* Opis: wyjaśnij, że oryginał jest zwracany, a zamiennik obciążany.
* Przycisk akceptacji: domyślnie pokazuje cenę netto — dostosuj do „Switch to subscription” lub „Upgrade my order”, jeśli wolisz CTA oparte na czasowniku.

<div id="discount-handling">
  ## Obsługa rabatów
</div>

Replacement Upsell ma specyficzne zachowanie związane z rabatami, które zaskakuje partnerów.

<div id="discounts-on-the-original-line-do-not-carry-to-the-replacement">
  ### Rabaty na pierwotnej pozycji nie przenoszą się na zamiennik
</div>

Gdy Aftersell zwraca pierwotną pozycję zamówienia, każdy zastosowany do niej rabat znika razem z nią. Pozycja zastępcza jest obciążana pełną ceną (lub rabatem z Twojej oferty zamiany, jeśli go skonfigurujesz), ale pierwotny rabat klienta nie jest przenoszony.

Jeśli chcesz, aby klient zachował równoważny rabat, skonfiguruj go bezpośrednio w ofercie zamiany.

<div id="allow-replacement-when-target-has-a-discount">
  ### Allow replacement when target has a discount
</div>

Domyślnie Replacement Upsell **pomija** ofertę, jeśli pozycja wyzwalająca ma rabat na poziomie zamówienia. To ochronne ustawienie domyślne pozwalające uniknąć niezgodności kwot zwrotów.

Aby oferta mogła się uruchomić nawet wtedy, gdy wyzwalacz ma rabat, włącz przełącznik **Allow replacement when target has a discount** w ustawieniach zaawansowanych oferty. Gdy jest włączony, zwrot obejmuje cenę po rabacie (nie pełną cenę), a zamiennik jest obciążany zgodnie z konfiguracją oferty.

<div id="first-cycle-discount-on-subscription-replacements">
  ### Rabat na pierwszy cykl w zamiennikach subskrypcyjnych
</div>

Gdy zamiennik jest subskrypcją, rabat skonfigurowany w ofercie dotyczy **tylko pierwszego cyklu rozliczeniowego**. Przyszłe zamówienia cykliczne są rozliczane według standardowej ceny subskrypcji. Klient widzi cenę cykliczną pod **Recurring subtotal** w ofercie.

<div id="analytics-and-reporting">
  ## Analityka i raportowanie
</div>

Zwroty generowane przez Replacement Upsell mają w Shopify notatkę **„AfterSell Post-Purchase Replacement Upsell”**, co ułatwia identyfikację zwrotów związanych z zamianą.

Analityka Aftersell **nie** odejmuje kwoty zwrotu od wartości upsellu. Zastąpienie produktu za \$100 produktem za \$200 jest raportowane jako upsell o wartości \$200, a nie \$100 netto.

<div id="worked-examples">
  ## Przykłady krok po kroku
</div>

Trzy typowe scenariusze Replacement Upsell wraz z dokładną konfiguracją i tym, czego doświadcza klient.

<div id="scenario-1-one-time-bottle-to-monthly-subscription-of-the-same-product">
  ### Scenariusz 1: jednorazowa butelka na miesięczną subskrypcję tego samego produktu
</div>

**Konfiguracja.** Twój klient kupił jednorazową butelkę suplementu za \$40. Chcesz zaoferować mu miesięczną subskrypcję tej samej butelki za \$36 miesięcznie, z 15% rabatem na pierwszy cykl.

**Co ustawiasz w ofercie:**

* Wyzwalacz lejka: produktem jest jednorazowa butelka.
* Produkt upsell: ta sama butelka, miesięczny plan sprzedaży.
* Opcja zakupu: Subscription only.
* Rabat na pierwszy cykl: 15%.
* Produkt do zastąpienia: jednorazowa butelka (ten sam wariant, który klient kupił).

**Co klient widzi w ofercie:**

* Przycisk Accept Offer: „Add \$0.60 to your order” (różnica netto między jednorazowym \$40 a pierwszym cyklem subskrypcji \$30.60 po 15% rabatu od \$36).
* Recurring subtotal: \$36.00 co 30 dni.

**Po akceptacji:**

* Pierwotna jednorazowa butelka za \$40 jest zwracana.
* Nowa pozycja subskrypcyjna jest dodawana po \$30.60 za pierwszy cykl.
* W Twojej aplikacji subskrypcyjnej tworzona jest miesięczna subskrypcja z ceną bazową \$36.
* Kolejne obciążenie następuje za 30 dni w kwocie \$36.

**Wyciąg klienta:** jeden zwrot \$40, jedno obciążenie \$30.60. Netto: klient zapłacił \$30.60 za tę dostawę i będzie płacił \$36 co 30 dni.

<div id="scenario-2-single-bottle-to-3-pack-of-the-same-product">
  ### Scenariusz 2: pojedyncza butelka na 3-pak tego samego produktu
</div>

**Konfiguracja.** Twój klient kupił jedną butelkę za \$30. Chcesz zaoferować mu 3-pak za \$75 (zamiast \$90 przy zakupie pojedynczo).

**Co ustawiasz w ofercie:**

* Wyzwalacz lejka: produktem jest pojedyncza butelka.
* Produkt upsell: ten sam produkt.
* Override quantity: 3.
* Opcja zakupu: One-time purchase only.
* Produkt do zastąpienia: pojedyncza butelka (ten sam wariant).

**Co klient widzi w ofercie:**

* Przycisk Accept Offer: „Add \$45.00 to your order” (różnica netto między \$30 a \$75).

**Po akceptacji:**

* Pierwotna butelka za \$30 jest zwracana.
* Dodawane są 3 butelki za łącznie \$75.
* Klient płaci netto \$45 w tym zamówieniu Shopify.

<div id="scenario-3-one-time-product-to-a-different-subscription-product">
  ### Scenariusz 3: jednorazowy produkt na subskrypcję innego produktu
</div>

**Konfiguracja.** Twój klient kupił jednorazowy zestaw startowy za \$25. Chcesz zaoferować mu miesięczną subskrypcję Twojej linii premium za \$50 miesięcznie.

**Co ustawiasz w ofercie:**

* Wyzwalacz lejka: produktem jest zestaw startowy.
* Produkt upsell: produkt premium.
* Opcja zakupu: Subscription only.
* Plan sprzedaży: miesięczny, \$50.
* Produkt do zastąpienia: zestaw startowy (ten sam wariant).

**Co klient widzi w ofercie:**

* Przycisk Accept Offer: „Add \$25.00 to your order” (różnica netto między \$25 a \$50).
* Recurring subtotal: \$50.00 co 30 dni.

**Po akceptacji:**

* Pierwotny zestaw startowy za \$25 jest zwracany.
* Dodawana jest nowa pozycja subskrypcyjna za \$50.
* W Twojej aplikacji subskrypcyjnej tworzona jest miesięczna subskrypcja za \$50.
* Klient płaci netto \$25 w tym zamówieniu Shopify.

<div id="per-variant-funnels">
  ## Lejki dla poszczególnych wariantów
</div>

Pojedyncza oferta Replacement Upsell dotyczy jednego konkretnego produktu i wariantu po każdej stronie. Jeśli Twoje plany subskrypcji różnią się w zależności od wariantu (różne rozmiary, smaki lub ceny), nie możesz skonfigurować jednej oferty w stylu „wymień dowolny wariant kupiony przez klienta na odpowiadający mu wariant subskrypcyjny”. Każda para wariantów wymaga osobnego lejka.

Na przykład jeśli sprzedajesz serum w trzech rozmiarach (Small / Medium / Large) i chcesz, aby każdy z nich zamieniał się na swój subskrypcyjny odpowiednik, zbudujesz trzy lejki:

* Lejek 1: wyzwalacz = Small jednorazowy, zamiennik = Small subskrypcja.
* Lejek 2: wyzwalacz = Medium jednorazowy, zamiennik = Medium subskrypcja.
* Lejek 3: wyzwalacz = Large jednorazowy, zamiennik = Large subskrypcja.

Aftersell nie oferuje obecnie wbudowanej funkcji parowania wariantów, więc każda para wariantów wymaga osobnego lejka.

<div id="testing-a-replacement-upsell">
  ## Testowanie Replacement Upsell
</div>

Przed uruchomieniem:

<Steps>
  <Step title="Złóż prawdziwe zamówienie testowe w Shopify">
    Złóż prawdziwe zamówienie testowe o niskiej cenie z jednorazowym produktem jako wyzwalaczem. Nie polegaj na trybie podglądu w tym kroku. Tryb podglądu renderuje lejek wizualnie i pozwala przeklikać Accept oraz Decline, ale jest odizolowany: nie powstaje żadne zamówienie, nie jest stosowany żaden zwrot, nie jest tworzona subskrypcja, nie następują obciążenia, nie są wysyłane e-maile ani webhooki. Używaj trybu podglądu do przeglądu układu i treści, a prawdziwego zamówienia testowego do weryfikacji end-to-end.
  </Step>

  <Step title="Zaakceptuj upsell na stronie post-purchase">
    Po checkoucie pojawi się oferta post-purchase. Zaakceptuj Replacement Upsell, aby wyzwolić prawdziwy changeset.
  </Step>

  <Step title="Sprawdź Shopify">
    W **Shopify Admin → Orders** znajdź zamówienie testowe. Powinieneś zobaczyć pierwotną pozycję z zastosowanym zwrotem oraz dodaną pozycję zastępczą.
  </Step>

  <Step title="Sprawdź wyciąg klienta">
    Na prawdziwej karcie zweryfikuj, że obie transakcje (zwrot za oryginał i obciążenie za zamiennik) księgują się prawidłowo. Kwota netto powinna odpowiadać wyświetlanemu przyciskowi Accept Offer.
  </Step>

  <Step title="Sprawdź dostawcę subskrypcji (jeśli zamiennik jest subskrypcją)">
    Znajdź nową subskrypcję klienta w panelu swojego dostawcy. Potwierdź częstotliwość, datę kolejnego obciążenia i produkt. Po stronie Aftersell nie ma automatycznego ponawiania, jeśli rejestracja się nie powiedzie — jeśli subskrypcji brakuje, skontaktuj się z pomocą techniczną swojego dostawcy subskrypcji.
  </Step>
</Steps>

<div id="beta-failsafe">
  ## Bezpiecznik wersji Beta
</div>

Dopóki Replacement Upsell jest w wersji Beta, Aftersell śledzi błędy każdej oferty i przestaje pokazywać ofertę nowym klientom, gdy liczba błędów przekroczy próg. Chroni Cię to przed sytuacją, w której rozległa błędna konfiguracja po cichu wpływa na wielu klientów.

<Frame>
  <img src="https://mintcdn.com/aftersell/SnVX3h-PpMMxQMDU/images/aftersell/replacement-upsells-order-browser-failsafe.gif?s=0ec4f5a58191b9323de015eae3793c07" alt="Bezpiecznik Beta Replacement Upsell w przeglądarce zamówień" width="2196" height="1080" data-path="images/aftersell/replacement-upsells-order-browser-failsafe.gif" />
</Frame>

<div id="configuring-the-failsafe-threshold">
  ### Konfigurowanie progu bezpiecznika
</div>

Próg bezpiecznika można skonfigurować w **Settings → Replacement Upsells**. Zlicza on błędy zamiany w **kroczącym oknie 7 dni** i wstrzymuje upselle zastępujące, gdy w tym oknie zostanie osiągnięty wybrany próg. Możesz wybrać spośród:

* **Stop on any issue in the past 7 days** (zalecane — to ustawienie domyślne). Oferta zostaje zatrzymana, gdy tylko pierwsza zamiana nie powiedzie się w kroczącym oknie.
* **Stop after 3 issues in the past 7 days**.
* **Stop after 5 issues in the past 7 days**.
* **Stop after 7 issues in the past 7 days** (najbardziej liberalne).
* **Custom…** — odsłania pole liczbowe, w którym możesz wpisać dowolną liczbę całkowitą od **1 do 100**. Użyj go, jeśli Twój sklep przetwarza duże wolumeny zamówień, a ustawienia predefiniowane zadziałają zbyt szybko.

Wybierz wyższy próg, jeśli masz pewność co do konfiguracji oferty i chcesz zaabsorbować kilka przejściowych błędów Shopify lub dostawcy subskrypcji bez wyłączania oferty. Wybierz niższy próg, jeśli awarie widoczne dla klientów są dla Twojego sklepu bardzo kosztowne.

<div id="what-trips-the-failsafe">
  ### Co uruchamia bezpiecznik
</div>

Każdy wyjątek w przepływie zamiany liczy się jako błąd w kroczącym oknie 7 dni. Najczęstsze przyczyny:

* Shopify odrzuca changeset, ponieważ checkout został już zakończony.
* Produkt zastępczy został usunięty lub cofnięty z publikacji między konfiguracją oferty a akceptacją przez klienta.
* Plan sprzedaży dla zamiennika subskrypcyjnego został dezaktywowany.
* Przejściowa awaria API Shopify lub dostawcy subskrypcji.

<div id="when-the-failsafe-trips">
  ### Kiedy bezpiecznik się uruchamia
</div>

Gdy liczba błędów w kroczącym oknie 7 dni osiągnie Twój próg, oferta **przestaje być pokazywana** nowym klientom. Dowiesz się o tym w dwóch miejscach:

* **Baner na stronie głównej.** Na stronie głównej Aftersell pojawia się baner ostrzegawczy zatytułowany **„Replacement upsells are paused”** z przyciskiem **Review failsafe** prowadzącym do **Settings → Replacement Upsells**.
* **Karta statusu bezpiecznika** (Settings → Replacement Upsells). Karta statusu pokazuje odznakę **Failsafe tripped** (bursztynową) lub **Not tripped** (zieloną), plus Twój aktualny kroczący licznik i próg — na przykład „4 of 5 errors in the past 7 days”.

Ponieważ bezpiecznik używa kroczącego okna 7 dni, **samoczynnie się regeneruje**: gdy liczba błędów spadnie poniżej progu, upselle zastępujące wznawiają się automatycznie — bez potrzeby działania.

<div id="how-to-reset">
  ### Jak zresetować
</div>

Możesz samodzielnie zresetować bezpiecznik w **Settings → Replacement Upsells**. Po rozwiązaniu problemu źródłowego kliknij **Reset failsafe** i potwierdź w oknie modalnym — kroczący licznik błędów jest natychmiast czyszczony, a upselle zastępujące wznawiają się dla nowych zamówień. (Przycisk jest wyłączony, gdy Twój aktualny licznik błędów wynosi już zero.)

Resetuj dopiero po naprawieniu przyczyny źródłowej — w przeciwnym razie bezpiecznik uruchomi się ponownie po osiągnięciu progu. Jeśli nie masz pewności, co spowodowało błędy, skontaktuj się z pomocą techniczną przez czat w aplikacji przed resetem.

<div id="troubleshooting">
  ## Rozwiązywanie problemów
</div>

<AccordionGroup>
  <Accordion title="Typ oferty Replacement Upsell nie pojawia się w moim edytorze lejka">
    Replacement Upsell to funkcja Beta wymagająca ręcznego włączenia przez pomoc techniczną Aftersell. Skontaktuj się z pomocą przez czat w aplikacji, aby poprosić o dostęp. Po włączeniu przełącznik **Replace item in original order with upsell** pojawi się w ustawieniach zaawansowanych oferty.
  </Accordion>

  <Accordion title="Oferta nie pokazuje się na zamówieniach testowych">
    Trzy przyczyny:

    * **Niezgodność wyzwalacza lejka.** Potwierdź, że produkt wyzwalający jest tym samym produktem, który znajduje się w koszyku zamówienia testowego.
    * **Zamówienie zawiera już subskrypcję.** Replacement Upsell pomija każde zamówienie, w którym pozycja wyzwalająca jest subskrypcją. W takim przypadku użyj zamiast tego Subscription Upgrade.
    * **Pierwotna pozycja ma rabat.** Domyślnie Replacement Upsell pomija pozycje z rabatem na poziomie zamówienia. Włącz **Allow replacement when target has a discount** w ustawieniach zaawansowanych oferty.
  </Accordion>

  <Accordion title="Oferta się pokazuje, ale zamiana faktycznie nie następuje (lub klient otrzymał pierwotny produkt)">
    Oferta Replacement Upsell ma w edytorze trzy osobne wybory produktów, które muszą być skonfigurowane spójnie, aby zamiana zadziałała:

    1. **Wyzwalacz lejka.** Ustawiany na poziomie lejka. Określa, które zamówienia widzą ofertę.
    2. **Produkt upsell.** Ustawiany w sekcji Upsell Products oferty. Produkt, który zostaje dodany do zamówienia, gdy klient zaakceptuje.
    3. **Edit product to replace.** Ustawiany w sekcji **Replace item in original order with upsell**, przez kliknięcie przycisku **Edit product to replace**. To dokładny produkt i wariant w koszyku klienta, który zostanie zwrócony i usunięty.

    Najczęstszy błąd konfiguracji: **produkt do zastąpienia** nie odpowiada wariantowi, który faktycznie znajduje się w koszyku klienta. Gdy tak się dzieje, Aftersell nie może znaleźć pasującej pozycji do usunięcia i zamiana po cichu się nie uruchamia.

    Aby to naprawić:

    * Otwórz ofertę Replacement Upsell.
    * Kliknij **Edit product to replace** i potwierdź, że wybrany produkt i wariant **dokładnie odpowiadają** produktowi i wariantowi, które klient powinien był kupić (zgodnie z wyzwalaczem lejka).
    * Jeśli wymieniasz warianty tego samego produktu (Small → Large), „produkt do zastąpienia” musi wskazywać konkretnie wariant Small. Jeśli wskażesz Large lub jakikolwiek wariant, którego klient nie kupił, oferta zostanie pominięta.
    * Zapisz i przetestuj prawdziwym zamówieniem o niskiej cenie, zawierającym dokładnie ten wariant, z którego chcesz wymieniać.
  </Accordion>

  <Accordion title="Mój klient myśli, że został obciążony podwójnie">
    To oczekiwane zachowanie. Pierwotna pozycja jest zwracana, a zamiennik obciążany, więc wyciąg bankowy klienta pokazuje dwie transakcje, mimo że kwota netto to wyświetlana cena oferty. Aby ograniczyć zamieszanie:

    * Dodaj do treści oferty zdanie wyjaśniające mechanikę zwrotu i wymiany.
    * Włącz automatyczny e-mail Aftersell z powiadomieniem o zwrocie dla upselli zastępujących.
    * Przeszkol swój zespół wsparcia, aby wyjaśniał wzorzec dwóch pozycji na wyciągu, gdy klient się zgłosi.
  </Accordion>

  <Accordion title="Widzę „Partial refunds are not allowed until the transaction is settled”">
    Niektóre bramki płatności (w tym Authorize.net i inne, które rozliczają transakcje wsadowo z opóźnieniem) nie pozwalają na zwroty, dopóki pierwotna transakcja nie zostanie rozliczona. Ponieważ Replacement Upsell obciąża za zamiennik i zwraca za oryginał natychmiast po checkoucie, krok zwrotu może zakończyć się błędem „Partial refunds are not allowed until the transaction is settled. Please try again later.” Aftersell nie ponawia automatycznie zwrotu po rozliczeniu, więc musisz wystawić zwrot ręcznie z zamówienia Shopify, gdy pierwotna transakcja się rozliczy (zwykle w ciągu 24 godzin, w zależności od harmonogramu rozliczeń Twojej bramki). Aby uniknąć tego scenariusza, Replacement Upsell jest całkowicie pomijany dla znanych nieobsługiwanych bramek. Jeśli nadal widzisz ten błąd na obsługiwanej bramce, skontaktuj się z pomocą techniczną, abyśmy mogli to zbadać.
  </Accordion>

  <Accordion title="Rabat z pierwotnego zamówienia zniknął po zamianie">
    Gdy Aftersell zwraca pierwotną pozycję zamówienia, każdy zastosowany do niej rabat znika razem ze zwrotem. Pozycja zastępcza jest obciążana osobno. Jeśli chcesz, aby klient zachował rabat, skonfiguruj go bezpośrednio w ofercie zamiany, używając pola rabatu oferty.
  </Accordion>

  <Accordion title="Czy Replacement Upsell może wymienić subskrypcję na inną subskrypcję?">
    Nie. Jeśli pierwotna pozycja w zamówieniu jest już subskrypcją, Replacement Upsell się nie uruchomi. Dzieje się tak dlatego, że usunięcie pozycji subskrypcyjnej nie anuluje umowy subskrypcyjnej w Twojej aplikacji subskrypcyjnej — klient nadal byłby obciążany, a dodatkowo otrzymałby zamiennik. Aby zmodyfikować istniejącą subskrypcję (zmienić częstotliwość, wymienić produkt lub jedno i drugie), użyj zamiast tego [Subscription Upgrade](/pl/aftersell/subscription-upgrades).
  </Accordion>

  <Accordion title="Moja oferta Replacement Upsell nagle przestała się uruchamiać">
    Replacement Upsell śledzi błędy dla każdej oferty w kroczącym oknie 7 dni i przestaje pokazywać ofertę, gdy liczba błędów przekroczy skonfigurowany próg w **Settings → Replacement Upsells** (domyślnie: zatrzymaj przy jakimkolwiek problemie w ciągu ostatnich 7 dni). Gdy bezpiecznik się uruchomi, na stronie głównej Aftersell pojawia się baner **„Replacement upsells are paused”** z linkiem **Review failsafe** do **Settings → Replacement Upsells**, gdzie karta statusu pokazuje Twój aktualny licznik błędów i to, czy bezpiecznik jest uruchomiony.

    Jeśli błędy już nie występują, oferta wznawia się automatycznie, gdy kroczący licznik 7-dniowy spadnie poniżej progu. Aby wznowić natychmiast po naprawieniu problemu, kliknij **Reset failsafe** na tej stronie ustawień. Jeśli nie masz pewności co do przyczyny źródłowej, skontaktuj się z pomocą techniczną przez czat w aplikacji.
  </Accordion>

  <Accordion title="Zdjęcie produktu zastępczego jest błędne lub ogólne">
    Karta oferty używa zdjęcia przypisanego do konkretnego wariantu, jeśli takie zostało oznaczone przy wariancie w Shopify. Jeśli wariant nie ma przypisanego zdjęcia, karta oferty korzysta z pierwszego zdjęcia produktu nadrzędnego. Jeśli wymieniasz warianty tego samego produktu, a zdjęcie się nie zmienia, potwierdź, że każdy wariant ma własne zdjęcie skonfigurowane w Shopify.
  </Accordion>

  <Accordion title="Chcę skonfigurować Replacement Upsell dla wielu wariantów produktu">
    Zbuduj jeden lejek na wariant. Każdy lejek ma wyzwalacz produkt+wariant i odpowiadający mu zastępczy produkt+wariant. Aftersell nie oferuje obecnie wbudowanej funkcji parowania wariantów.
  </Accordion>

  <Accordion title="Klient zaakceptował, ale nowej subskrypcji nie ma w mojej aplikacji subskrypcyjnej">
    Ten sam tryb awarii co w Subscription Upsell: najczęściej plan sprzedaży został dezaktywowany między wyrenderowaniem oferty a akceptacją przez klienta. Shopify akceptuje changeset, ale żadna subskrypcja nie jest rejestrowana dalej. Potwierdź, że plan sprzedaży jest nadal aktywny w Shopify i przypisany do produktu zastępczego. Sprawdź logi importu zamówień lub webhooków swojej aplikacji subskrypcyjnej dla danego zamówienia. Jeśli subskrypcji brakuje, zespół wsparcia Twojej aplikacji subskrypcyjnej zwykle może ręcznie zarejestrować klienta.
  </Accordion>

  <Accordion title="Chcę anulować nową subskrypcję po akceptacji przez klienta">
    Aftersell nie zarządza anulowaniem subskrypcji. Anulowanie przyszłych cykli odbywa się w portalu klienta Twojego dostawcy subskrypcji lub przez samego klienta. Mechanizm zwrotu Shopify dla pierwszego cyklu działa tak samo jak dla każdej innej pozycji.
  </Accordion>

  <Accordion title="Moi klienci Authorize.net nigdy nie widzą oferty Replacement Upsell">
    To oczekiwane. Authorize.net jest jawnie zablokowany dla Replacement Upsell w kodzie Aftersell, ponieważ wymaga rozliczenia transakcji przed wystawieniem zwrotu, a rozliczenie następuje z opóźnieniem, które łamie wzorzec zwrotu i ponownego obciążenia, na którym opiera się Replacement Upsell. Jako alternatywę uruchom oferty na stronie podziękowania dla klientów Authorize.net. Możesz potwierdzić, że to jest przyczyna, otwierając zamówienie w przeglądarce zamówień Aftersell — powód pominięcia będzie brzmiał „Payment gateway does not support replacement upsells.”
  </Accordion>

  <Accordion title="Moi klienci płacący przy odbiorze lub przez zamówienia robocze nie widzą oferty">
    Ręczne bramki płatności (płatność przy odbiorze, niestandardowe metody płatności, checkouty z zamówień roboczych) są jawnie zablokowane dla Replacement Upsell, ponieważ nie zapisują karty do kolejnych obciążeń. Przeglądarka zamówień pokaże „Payment gateway does not support replacement upsells” jako powód pominięcia. Szersze ograniczenia metod płatności dla ofert post-purchase znajdziesz w artykule [Metody płatności](/pl/aftersell/payment_methods).
  </Accordion>
</AccordionGroup>
