Skip to main content
このページでは、リプレイスメントアップセルの仕組みをすべて説明します。置き換えの処理方法、サポートされるシナリオとサイレントにブロックされるシナリオ、支払いとディスカウントのルール、ベータ版のフェイルセーフ、トラブルシューティングの完全なカタログです。作成方法については、リプレイスメントアップセルガイドを参照してください。

置き換えの処理方法

顧客がリプレイスメントアップセルを承諾すると、次のように処理されます。
  1. 元の単発購入のラインアイテムが Shopify で返金されます。
  2. 置き換えのラインアイテムが、単発購入またはサブスクリプションとして(設定内容に応じて)同じ注文に追加されます。
  3. 顧客は同じ注文で置き換え商品の代金を支払います。
  4. 顧客の明細には、元の商品の返金と置き換え商品の請求という2件の取引が表示されます。表示される Accept Offer ボタンには、2つの価格の差額が反映されます。
これは Shopify の購入後 API を使用して実装されています。
  • 単発購入への置き換え(別のバリアント、数量、または商品)の場合、Aftersell は add_variant チェンジセットを送信します。
  • サブスクリプションへの置き換えの場合、Aftersell は add_subscription チェンジセットを送信します。
  • 元のラインアイテムは Shopify の返金 API で削除されます。
サブスクリプションへの置き換えでは、Aftersell はサブスクリプションアプリの API を直接呼び出しません。サブスクリプションは Shopify のネイティブ Subscription API によって作成され、サブスクリプションアプリが独自の Shopify 連携を通じてそれを取り込みます。

サポートされるシナリオ

リプレイスメントアップセルは4つのシナリオをサポートします。いずれの場合も、元のラインアイテムは単発購入である必要があります。置き換え先は単発購入でもサブスクリプションでもかまいません。
  • 単発購入から単発購入、同じ商品、別のバリアント。 たとえば、ツインサイズをクイーンサイズに入れ替えます。
  • 単発購入から単発購入、同じ商品、別の数量。 たとえば、1本のボトルを同じ商品の3本パックに入れ替えます。発送する数量を設定するには、置き換え商品で Override quantity を有効にします。
  • 単発購入から単発購入、まったく別の商品。 たとえば、スターターボトルを別の SKU のフルサイズ版に入れ替えます。
  • 単発購入からサブスクリプション。 たとえば、単発購入のボトルを同じボトルの月額サブスクリプション、または別の商品のサブスクリプション版に入れ替えます。これが最も一般的なユースケースです。

ブロックされるシナリオ

次のシナリオは、オファーの表示時に Aftersell によってブロックされます。顧客の注文がいずれかに該当する場合、オファーはサイレントにスキップされます。
  • サブスクリプションから単発購入。 サブスクリプションのラインアイテムを削除しても、Recharge、Skio、Loop のサブスクリプション契約はキャンセルされません。顧客には引き続き請求が行われ、さらに置き換え商品も届いてしまいます。
  • サブスクリプションから別のサブスクリプション。 上記と同じ根本原因に加え、Shopify の「1注文につき1サブスクリプション」のルールにより、すでにサブスクリプションを含む注文に新しいサブスクリプションを追加することはできません。
  • サブスクリプションのバリアントまたは頻度の入れ替え。 同じ根本原因です。
顧客の既存のサブスクリプションを変更する必要がある場合は、代わりにサブスクリプションアップグレードを使用してください。サブスクリプションアップグレードは、サブスクリプションのラインを削除して再追加しようとせずに、Recharge、Skio、Loop の既存の契約を直接変更します。
リプレイスメントアップセルがスキップされた場合(上記のブロックされるシナリオ、非対応の決済ゲートウェイ、割引されたトリガーライン)、Aftersell は代わりに同じファネルのダウンセルオファーを自動的に表示しようとします。リプレイスメントアップセルを使用する際は、買い物客に引き続きオファーが表示されるよう、フォールバックとしてダウンセルを設定してください。

顧客に見えるもの

顧客の視点を理解しておくと、最もよくあるサポートチケット「なぜ二重請求されたのですか?」を防げます。

購入後オファー内

Accept Offer ボタンには、元の商品と置き換え商品の差額が表示されます。たとえば、顧客が $30 のボトルを購入し、$45 の3本パックを提案した場合、Accept ボタンには「Add $15.00 to your order」と表示されます。置き換え商品が元の商品より安い場合、ボタンはクレジットとして表示されます。 オファーカードには、置き換え商品の画像、タイトル、価格が表示されます。Shopify でバリアントに画像が設定されている場合、オファーカードはバリアント固有の画像を使用します。バリアントに画像が設定されていない場合は、親商品の最初の画像にフォールバックします。そのため、同じ商品の2つのバリアント間で入れ替える場合、各バリアントに Shopify で個別の画像が設定されているかどうかによって、画像が変わる場合と変わらない場合があります。

承諾後の Shopify の注文

注文には最終的に次の両方が表示されます。
  • 返金が適用された元のラインアイテム。
  • 定価で請求された置き換え商品の新しいラインアイテム。
注文合計には差し引きの結果が反映されますが、顧客の銀行明細には2件の取引(置き換え商品の請求1件と元の商品の返金1件)が表示されます。これが、Aftersell が支払いレベルでリプレイスメントアップセルの承諾を処理する方法です。差引金額は、表示された Accept Offer ボタンの金額と一致します。 混乱を減らすには:
  • 返金と置き換えの仕組みを明示的に説明する一文をオファーの文言に含めます。例:「承諾すると、元の商品を返金し、置き換え商品を請求します。明細には2件の項目が表示されますが、差し引きの金額はこのボタンに表示されているアップグレード価格です。」
  • リプレイスメントアップセル用の Aftersell の自動返金通知メールを有効にします。顧客に返金を説明する確認メールが送信されます。

サブスクリプションプロバイダーのポータル(置き換え先がサブスクリプションの場合)

置き換え先がサブスクリプションの場合、顧客はサブスクリプションプロバイダーのカスタマーポータル(Recharge、Skio、Loop、Appstle、Smartrr、Stay.ai)で新しいサブスクリプションを確認できます。ポータルは Aftersell ではなくサブスクリプションプロバイダーが所有しています。サブスクリプションプロバイダーのウェルカムメールが、承諾後数分以内に送信されるよう設定されていることを確認してください。

互換性のあるサブスクリプションプラットフォーム

置き換え先がサブスクリプションの場合、リプレイスメントアップセルは Shopify のネイティブ Subscription API を使用するすべてのサブスクリプションアプリで動作します。このフローでは Aftersell はプロバイダーの API を直接呼び出しません。サブスクリプションは Shopify によって作成され、サブスクリプションアプリが独自の Shopify 連携を通じてそれを取り込みます。 互換性のあるプロバイダーには、Recharge、Skio、Loop、Stay.ai、Appstle、Smartrr、Bold Subscriptions(Shopify のネイティブサブスクリプション API で動作している場合)、Shopify のネイティブ販売プランが含まれます。 置き換え対象に前払いのサブスクリプションプラン(例:3か月ごとに前払いで請求)が設定されている場合は、前払いが置き換え先としてサポートされているかをサブスクリプションプロバイダーに確認してください。前払いの扱いはプロバイダーによって異なります。

支払い方法の要件

一部の決済ゲートウェイでは、購入後のウィンドウ内で返金と再請求のパターンを確実にサポートできないため、Aftersell はリプレイスメントアップセルを明示的にブロックしています。
  • Authorize.net(authorize_net)。Authorize.net では返金を行う前に取引が確定している必要があり、確定には遅延があるため、Aftersell は同じ Shopify 注文で元の商品を返金して置き換え商品を追加することを確実に行えません。Authorize.net を決済処理に使用している場合は、それらの顧客には代わりにサンキューページのオファーを提示してください。
  • 手動の決済ゲートウェイ(manual)。代金引換、カスタムの支払い方法、ドラフト注文のチェックアウト、および保管された承認を取得しないその他の手動決済処理が含まれます。リプレイスメントアップセルで追加の請求を行うには有効な保管済みの支払い情報が必要ですが、手動ゲートウェイはそれを提供しません。
注文の決済ゲートウェイがこれらのいずれかの場合、リプレイスメントアップセルはオファーをサイレントにスキップします。スキップの理由は、Aftersell のオーダーブラウザに 「Payment gateway does not support replacement upsells.」 と表示されます。 リプレイスメントアップセルだけでなく、Aftersell のすべての購入後オファーに影響する支払い方法の一覧については、支払い方法を参照してください。

ディスカウントの扱い

リプレイスメントアップセルには、パートナーが見落としがちなディスカウントに関する特有の動作があります。

元のラインのディスカウントは置き換え商品に引き継がれない

Aftersell が元のラインアイテムを返金すると、それに適用されていたディスカウントも一緒に取り消されます。置き換えのラインは定価(または設定している場合は置き換えオファーのディスカウント価格)で請求されますが、顧客の元のディスカウントは引き継がれません。 顧客に同等のディスカウントを適用し続けたい場合は、置き換えオファーに直接設定してください。

対象にディスカウントがある場合の置き換えを許可する

デフォルトでは、トリガーラインに注文レベルのディスカウントがある場合、リプレイスメントアップセルはオファーをスキップします。これは返金額の不一致を避けるための保護的なデフォルトです。 トリガーにディスカウントがある場合でもオファーを発火させるには、オファーの詳細設定で Allow replacement when target has a discount トグルを有効にします。有効にすると、返金額は定価ではなく割引後の価格となり、置き換え商品はオファーの設定に従って請求されます。

サブスクリプションへの置き換えにおける初回サイクルのディスカウント

置き換え先がサブスクリプションの場合、オファーに設定したディスカウントは最初の請求サイクルのみに適用されます。以降の定期注文は通常のサブスクリプション価格で請求されます。顧客はオファー内の Recurring subtotal で定期価格を確認できます。

バリアントごとのファネル

1つのリプレイスメントアップセルのオファーは、それぞれの側で特定の1つの商品とバリアントを対象とします。サブスクリプションプランがバリアントごとに異なる場合(サイズ、フレーバー、価格の違い)、「顧客が購入したバリアントを、対応するサブスクリプションのバリアントに入れ替える」という1つのオファーを設定することはできません。バリアントの組み合わせごとに個別のファネルが必要です。 たとえば、美容液を3つのサイズ(Small / Medium / Large)で販売していて、それぞれを対応するサブスクリプションに入れ替えたい場合は、3つのファネルを作成します。
  • ファネル1:トリガー = Small の単発購入、置き換え = Small のサブスクリプション。
  • ファネル2:トリガー = Medium の単発購入、置き換え = Medium のサブスクリプション。
  • ファネル3:トリガー = Large の単発購入、置き換え = Large のサブスクリプション。
Aftersell には現在、バリアントを組み合わせる機能が組み込まれていないため、バリアントの組み合わせごとに個別のファネルが必要です。

分析とレポート

リプレイスメントアップセルによって発生した返金には、Shopify で 「AfterSell Post-Purchase Replacement Upsell」 というメモが付くため、置き換えに関連する返金を簡単に識別できます。 Aftersell の分析では、アップセル額から返金額は差し引かれません。$100 の商品を $200 の商品に置き換えた場合、差し引き $100 ではなく $200 のアップセルとして報告されます。

ベータ版のフェイルセーフ

リプレイスメントアップセルがベータ版である間、Aftersell は各オファーのエラーを追跡し、エラー数がしきい値を超えると新規顧客へのオファーの表示を停止します。これにより、広範囲に及ぶ設定ミスが多くの顧客にサイレントに影響することを防ぎます。
オーダーブラウザに表示されるリプレイスメントアップセルのベータ版フェイルセーフ

フェイルセーフのしきい値を設定する

フェイルセーフのしきい値は Settings → Replacement Upsells で設定できます。置き換えのエラーをローリング7日間のウィンドウでカウントし、そのウィンドウ内で選択したしきい値に達するとリプレイスメントアップセルを一時停止します。次の中から選択できます。
  • Stop on any issue in the past 7 days(推奨、デフォルト)。ローリングウィンドウ内で最初の置き換えが失敗した時点でオファーが停止します。
  • 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(最も許容的)。
  • Custom を選ぶと数値フィールドが表示され、1〜100 の任意の整数を入力できます。ストアの注文量が多く、プリセットではすぐに停止してしまう場合に使用します。
オファーの設定に自信があり、一時的な Shopify やサブスクリプションプロバイダーのエラーをいくつか許容してオファーを無効化したくない場合は、高いしきい値を選択してください。顧客に影響する失敗がストアにとってコストが大きい場合は、低いしきい値を選択してください。

フェイルセーフが発動する原因

置き換えフローで発生したあらゆる例外が、ローリング7日間のウィンドウ内のエラーとしてカウントされます。最も一般的な原因は次のとおりです。
  • チェックアウトがすでに完了しているため、Shopify がチェンジセットを拒否した。
  • オファーの設定から顧客の承諾までの間に、置き換え商品が削除または非公開にされた。
  • サブスクリプションへの置き換えの販売プランが無効化された。
  • Shopify API またはサブスクリプションプロバイダーの一時的な障害。

フェイルセーフが発動したとき

ローリング7日間のウィンドウ内のエラー数がしきい値に達すると、新規顧客へのオファーの表示が停止されます。これは次の2か所で確認できます。
  • ホームページのバナー。 Aftersell のホームページに 「Replacement upsells are paused」 という警告バナーが表示され、Settings → Replacement Upsells にリンクする Review failsafe ボタンが表示されます。
  • フェイルセーフのステータスカード(Settings → Replacement Upsells)。ステータスカードに Failsafe tripped(黄色)または Not tripped(緑色)のバッジと、現在のローリングカウントとしきい値(例:「4 of 5 errors in the past 7 days」)が表示されます。
フェイルセーフはローリング7日間のウィンドウを使用するため、自己回復します。エラー数がしきい値を下回ると、リプレイスメントアップセルは自動的に再開され、操作は不要です。

リセット方法

フェイルセーフは Settings → Replacement Upsells から自分でリセットできます。根本の問題を解決したら、Reset failsafe をクリックし、モーダルで確定します。ローリングエラー数がただちにクリアされ、新しい注文に対してリプレイスメントアップセルが再開されます。(現在のエラー数がすでにゼロの場合、ボタンは無効になります。) リセットは根本原因を修正した後にのみ行ってください。そうしないと、しきい値に達した時点でフェイルセーフが再び発動します。エラーの原因が不明な場合は、リセットする前にアプリ内チャットからサポートにお問い合わせください。

トラブルシューティング

リプレイスメントアップセルはベータ機能であり、Aftersell サポートによる手動での有効化が必要です。アクセスをリクエストするには、アプリ内チャットからサポートにお問い合わせください。有効化されると、オファーの詳細設定に Replace item in original order with upsell トグルが表示されます。
考えられる原因は3つです。
  • ファネルトリガーの不一致。 トリガー商品が、テスト注文のカートに入っている商品と同じであることを確認してください。
  • 注文にすでにサブスクリプションが含まれている。 リプレイスメントアップセルは、トリガーラインがサブスクリプションである注文をスキップします。その場合は代わりにサブスクリプションアップグレードを使用してください。
  • 元のラインにディスカウントがある。 デフォルトでは、リプレイスメントアップセルは注文レベルのディスカウントがあるラインをスキップします。オファーの詳細設定で Allow replacement when target has a discount を有効にしてください。
リプレイスメントアップセルのオファーには、エディター内に3つの個別の商品選択があり、置き換えが発火するにはこれらを一貫して設定する必要があります。
  1. ファネルトリガー。 ファネルレベルで設定します。どの注文にオファーが表示されるかを決定します。
  2. アップセル商品。 オファーの Upsell Products セクションで設定します。顧客が承諾したときに注文に追加される商品です。
  3. Edit product to replace。 Replace item in original order with upsell セクション内で、Edit product to replace ボタンをクリックして設定します。これは、返金され削除される、顧客のカート内の正確な商品とバリアントです。
最も一般的な設定ミスは、置き換え対象の商品が顧客のカートに実際に入っているバリアントと一致しないことです。この場合、Aftersell は削除するラインアイテムを見つけられず、置き換えはサイレントに発火しません。修正するには:
  • リプレイスメントアップセルのオファーを開きます。
  • Edit product to replace をクリックし、選択されている商品とバリアントが、顧客が購入しているはずの商品とバリアント(ファネルトリガーに基づく)と完全に一致していることを確認します。
  • 同じ商品のバリアント間で入れ替える場合(Small → Large)、「置き換え対象の商品」は明確に Small バリアントを指している必要があります。Large や顧客が購入していないバリアントを指定すると、オファーはスキップされます。
  • 保存し、入れ替え元となる正確なバリアントを含む低価格の実際の注文でテストします。
これは想定どおりの動作です。元のラインが返金され置き換え商品が請求されるため、差引金額は表示されたオファー価格であっても、顧客の銀行明細には2件の取引が表示されます。混乱を減らすには:
  • 返金と置き換えの仕組みを説明する一文をオファーの文言に追加します。
  • リプレイスメントアップセル用の Aftersell の自動返金通知メールを有効にします。
  • 顧客から問い合わせがあった際に2件の項目が表示される仕組みを説明できるよう、サポートチームをトレーニングします。
一部の決済ゲートウェイ(Authorize.net や、取引を遅延してバッチ確定するその他のゲートウェイを含む)では、元の取引が確定するまで返金が許可されません。リプレイスメントアップセルはチェックアウト直後に置き換え商品を請求し元の商品を返金するため、返金のステップが「Partial refunds are not allowed until the transaction is settled. Please try again later.」というエラーで失敗することがあります。Aftersell は確定後に返金を自動的に再試行しないため、元の取引が確定した後(ゲートウェイの確定スケジュールによりますが、通常24時間以内)に Shopify の注文から手動で返金する必要があります。このような状況を避けるため、既知の非対応ゲートウェイではリプレイスメントアップセルは完全にスキップされます。対応しているゲートウェイでこのエラーが繰り返し表示される場合は、調査のためサポートにお問い合わせください。
Aftersell が元のラインアイテムを返金すると、それに適用されていたディスカウントも返金とともに取り消されます。置き換えのラインは別途請求されます。顧客にディスカウントを維持させたい場合は、オファーのディスカウントフィールドを使用して置き換えオファーに直接設定してください。
いいえ。注文内の元のラインアイテムがすでにサブスクリプションである場合、リプレイスメントアップセルは発火しません。サブスクリプションのラインアイテムを削除しても、サブスクリプションアプリのサブスクリプション契約はキャンセルされないためです。顧客には引き続き請求が行われ、さらに置き換え商品も届いてしまいます。既存のサブスクリプションを変更する(頻度の変更、商品の入れ替え、またはその両方)には、代わりにサブスクリプションアップグレードを使用してください。
リプレイスメントアップセルはオファーごとのエラーをローリング7日間のウィンドウで追跡し、エラー数が Settings → Replacement Upsells で設定したしきい値(デフォルト:過去7日間に1件でも問題があれば停止)を超えるとオファーの表示を停止します。フェイルセーフが発動すると、Aftersell のホームページに 「Replacement upsells are paused」 バナーが表示され、Settings → Replacement Upsells への Review failsafe リンクが表示されます。そこでは、ステータスカードに現在のエラー数とフェイルセーフが発動しているかどうかが表示されます。エラーが発生しなくなっていれば、ローリング7日間のカウントがしきい値を下回った時点でオファーは自動的に再開されます。問題を修正した後すぐに再開するには、その設定ページで Reset failsafe をクリックしてください。根本原因が不明な場合は、アプリ内チャットからサポートにお問い合わせください。
Shopify でバリアントに画像が設定されている場合、オファーカードはバリアント固有の画像を使用します。バリアントに画像が設定されていない場合は、親商品の最初の画像にフォールバックします。同じ商品のバリアント間で入れ替えていて画像が変わらない場合は、各バリアントに Shopify で個別の画像が設定されていることを確認してください。
バリアントごとに1つのファネルを作成してください。各ファネルには、商品とバリアントのトリガーと、それに対応する置き換え先の商品とバリアントを設定します。Aftersell には現在、バリアントを組み合わせる機能は組み込まれていません。
サブスクリプションアップセルと同じ失敗パターンです。最も多いのは、オファーの表示から顧客の承諾までの間に販売プランが無効化されたケースです。Shopify はチェンジセットを受け入れますが、下流でサブスクリプションが登録されません。販売プランが Shopify でまだ有効で、置き換え商品に割り当てられていることを確認してください。該当する注文について、サブスクリプションアプリの注文インポートまたは Webhook のログを確認してください。サブスクリプションが見つからない場合は、通常、サブスクリプションアプリのサポートチームが顧客を手動で登録できます。
Aftersell はサブスクリプションのキャンセルを管理しません。以降のサイクルのキャンセルは、サブスクリプションプロバイダーのカスタマーポータルで行うか、顧客自身が行います。初回サイクルに対する Shopify の返金の仕組みは、他のラインアイテムと同じように機能します。
これは想定どおりです。Authorize.net では返金を行う前に取引が確定している必要があり、確定の遅延によってリプレイスメントアップセルが依存する返金と再請求のパターンが成立しないため、Aftersell のコードで Authorize.net はリプレイスメントアップセルから明示的にブロックされています。代替手段として、Authorize.net の顧客にはサンキューページのオファーを提示してください。Aftersell のオーダーブラウザで注文を開くと、これが原因であることを確認できます。スキップの理由に「Payment gateway does not support replacement upsells.」と表示されます。
手動の決済ゲートウェイ(代金引換、カスタムの支払い方法、ドラフト注文のチェックアウト)は、追加の請求のためにカードを保管しないため、リプレイスメントアップセルから明示的にブロックされています。オーダーブラウザにはスキップの理由として「Payment gateway does not support replacement upsells」と表示されます。購入後オファーに関する支払い方法の制限の全体については、支払い方法を参照してください。