概要
カート放棄は、失われた収益を回復するための最もインパクトの大きい機会の一つです。カートを放棄したほとんどのユーザーはまだ購入する意思があり、タイムリーなリマインダーが必要なだけです。 このガイドでは、OneSignalで以下を実行する自動カート放棄Journeyを構築する方法を説明します:- カートアクティビティの検出
- 短い非アクティブ期間の待機
- パーソナライズされたリマインダーの送信
- 購入またはカート削除後のメッセージ送信即時停止
- Custom Events(ほとんどの実装に推奨)
- Tags(よりシンプルで、限定的なユースケース)
- OneSignalに送信されるカートアクティビティ(TagsまたはCustom Eventsを経由)
- 明確なコード定義の放棄シグナル
- カートデータをパーソナライズするメッセージテンプレート
- 以下を実行するJourney:
- 放棄シグナルが受信されたときに開始
- 送信前に待機
- カート放棄メッセージを送信
- カートが空になるか購入されたときに即座に終了
- メッセージと収益のパフォーマンスを測定するAnalytics
cart_updatedイベントを受信すると:
- ユーザーがJourneyにエントリーする資格を得ます
- 待機期間により自然に戻る時間が与えられます
- エグジットしない場合のみメッセージが送信されます
- カートが空になるとユーザーは即座にエグジットします
セットアップ
ステップ1. カートデータとソースを計画する
表示したいカート情報とそのデータの出所を決定してください。 一般的なカートデータには以下が含まれます:- 商品名、画像、価格、数量
- カート内のアイテム数
- カートに戻るディープリンク
| データソース | 推奨方法 |
|---|---|
| アプリまたはウェブサイト | OneSignal Frontend SDK |
| バックエンドまたはデータベース | OneSignal REST API |
| サードパーティプラットフォーム | 統合ベースのCustom Events |
このステップの終わりまでに、どのデータを送信するかとどのように送信するかがわかります。
ステップ2. カートアクティビティをOneSignalに送信する
カートの状態が変化した場合、アクティビティを追跡できるように更新されたカートデータをOneSignalに送信します。 このガイドでは、cart_updatedイベントまたはタグを使用してカートアクティビティを追跡し、少なくとも1つのプロパティを含めます。
ステップ1で選択した方法を選択してください:
- Custom Events
カートが変更されるたびに
Frontend SDK Custom Events APIの例
cart_updatedカスタムイベントを送信します。カートにアイテムがある場合は商品プロパティを含め、カートが空になった場合は省略します。| リファレンス | 説明 |
|---|---|
trackEventメソッド | Frontend SDKを通じて送信(Mobile SDK、Web SDK) |
| Custom Events API | REST APIを通じて送信 |
| 統合 | 統合を通じて送信 |
trackEventメソッドの例カートアクティビティがOneSignalに送信されるようになりました。カートが変更されるたびに、OneSignalはメッセージのトリガーとパーソナライズに必要な更新されたデータを受信します。
ステップ3. カート放棄メッセージテンプレートを作成する
カートデータを動的に参照するメッセージテンプレートを作成します。 このセクションで使用されるコンセプトの詳細については、以下を参照してください:- Custom Eventプッシュテンプレート
- Tagプッシュテンプレート
Liquid構文形式を使用してイベントプロパティを参照します:メッセージ:画像:起動URL:
Liquid
Liquid
Liquid
Liquid

Custom Eventsでメッセージをパーソナライズ
JourneysでCustom Eventsを使用するための完全ガイド。イベントストレージ、Journey設定、カート放棄の例、ベストプラクティス、トラブルシューティングを含みます。
プロパティでメッセージをパーソナライズ
JourneysでプロパティとTagsを使用するための完全ガイド。イベントストレージ、Journey設定、カート放棄の例、ベストプラクティス、トラブルシューティングを含みます。
ステップ4. カート放棄セグメントを作成する(Tagsのみ)
セグメントはJourneyにエントリーできるユーザーを決定します。詳細はセグメントを参照してください。 セグメントに2つのフィルターを追加します:- User Tag —
cart_updatedexists - Last Session —
less than7days ago

カートを更新し、過去7日以内にアプリまたはウェブサイトを訪問したユーザーを追跡できるようになりました。以下のいずれかの条件が満たされると、ユーザーはセグメントから自動的に削除されます:
- アプリ/ウェブサイトを最後に訪問してから7日が経過した場合
cart_updatedタグが削除された場合
ステップ5. カート放棄Journeyを作成する
カートアクティビティに反応するJourneyを作成します。詳細はJourneysを参照してください。
Journeyの設定
エントリー、エグジット、再エントリーのルールの詳細については、Journeyの設定ガイドを確認してください。 エントリールール:- Custom Event: エントリールール
- Tag: エントリールール
- Custom Eventを選択
- Custom Event名:
cart_updated - プロパティでフィルター:以下のすべてのプロパティを持つ:
product_nameexists

- Custom Event: エグジットルール
- Tag: エグジットルール
カートを空にするかJourneyを完了したとき、ユーザーはJourneyをエグジットする必要があります。
- Meet a certain conditionを選択
- Exit when custom event condition occursをチェック
- Custom Event名:
cart_updated

この設定では、エントリーとエグジットの両方のルールに同じCustom Event名(
cart_updated)を使用します。これにより、ユーザーは一度に1つのJourneyインスタンスにのみ存在できます。カートを更新するたびに、そのユーザーのインスタンスはエグジットし、同じユーザーの新しいインスタンスがJourneyにエントリーします。これがエントリールール内でプロパティを使用してユーザーをフィルタリングすることが重要な理由です。- Yes, after a certain amount of timeを選択
- 再エントリー時間を
1dayに設定

このガイドをここまで完全に実行していれば、ユーザーは:
- カートを放棄/更新したときにJourneyにエントリーします
- カートを空にするかJourneyを完了したときにエグジットします。
- Journeyに再エントリーする資格があります:
- Custom Events:
cart_updatedイベントが実行されるたび - Tags:Journeyから最後にエグジットしてから1日が経過し、セグメントに含まれている場合。
- Custom Events:
Journeyのステップ
ユーザーはエントリールールに基づいてJourneyにエントリーします。これは通常、イベント/タグが受信されてから数分以内に発生します。 ユーザーは、終わりに到達するかエグジットルールが満たされるまで、Journeyをステップごとに進みます。 基本的なカート放棄Journeyの場合、2つのことを行います:- ユーザーにカートを空にする十分な時間を与える(購入するか手動でカートを空にする)
- カートを空にしない場合、カート内のアイテムについてリマインダーメッセージを送信する
- 待機時間を希望する長さに設定します。購入意思がまだあるうちにメッセージを送信できるように、
1hourに設定することを推奨します。
- ステップ3で作成したAbandoned Cartプッシュ通知テンプレートを選択します。

基本的なカート放棄Journeyの設定が完了しました。ユーザーがJourneyにエントリーすると、1時間待機します。Journeyからエグジットしない場合、カート放棄プッシュ通知を受信します。
高度なJourneyセットアップ
時間の経過とともにより多くのメッセージを送信するようにJourneyを拡張して、より高い回復率を実現します。メッセージシーケンス
非常に一般的な高パフォーマンスのケイデンスは:- 1時間後に最初のメッセージを送信(このガイドで完了)。
- 1日間の別のWaitステップを追加し、2番目のメッセージを送信(カート更新後約24時間)。
- 2日間の別のWaitステップを追加し、3番目のメッセージを送信(カート更新後約72時間)。
メッセージの種類とコンテンツ
OneSignalで設定したチャネルに応じて、オムニチャネルアプローチを使用するとより良い結果が得られます。- このガイドでは、最初の1時間後にプッシュ通知メッセージを送信する方法を示しています。これは、ユーザーがまだオンラインである可能性がある間に販売を獲得するための有用なリマインダーとして使用されます。
- 2番目のメッセージにはプッシュとメールの両方を使用することを検討してください。この2番目のメッセージを使用して、軽い緊急性とともに利点と社会的証明を強調し、購入を促しましょう。
- シーケンスの最後のメッセージには、メールまたはSMS(ユースケースに応じて)を「最後のチャンス」として使用してください。割引コードやその他のインセンティブを使用して購入を促すことを検討してください。
フォールバックメッセージ
OneSignalのJourneysは、メッセージが確認済み配信、クリック、または開封されたかどうかを確認し、特定の期間内に実行されない場合にフォールバックメッセージを送信できるWait Until分岐ロジックを提供します。 これは、特定のメッセージチャネルの登録を解除した可能性があるユーザーにとって非常に便利です。フォールバックメッセージの設定方法の詳細は、フォールバックメッセージガイドをご覧ください。パフォーマンスの追跡
Journey分析を使用して、Journey全体のパフォーマンスを追跡できます。テンプレート分析を使用して、各メッセージのパフォーマンスも追跡できます。Outcomesで収益を追跡する
このJourneyの収益を追跡するには、Custom Outcomesを使用できます。 購入が行われたとき、イベントを「Custom Outcome」として送信して、送信された特定のメッセージに関連する収益を追跡できます。 Custom OutcomesはMobile SDKまたはWeb SDKを通じて送信できます。Example: Send purchase outcome via frontend SDK
Outcomesは、定義されたアトリビューションウィンドウ内でユーザーがクリックした、または影響を受けたメッセージに収益を帰属させることができます。
カート放棄Journeyの実装が正常に完了しました。メッセージの送信を開始する準備ができたら、Set Liveを選択してください。
よくある質問
カートトラッキングにCustom EventsとTagsのどちらを使用すべきですか?
Custom Eventsはほとんどの実装に推奨されます。よりリッチなデータをサポートし、Journeyエントリールールでのプロパティベースのフィルタリングが可能で、同じイベントが再度発生したときに自動的に再エントリーを処理します。Tagsは、カートの存在を追跡するだけで十分な、よりシンプルなユースケースで機能しますが、手動でのセグメント作成と再エントリー設定が必要です。最初のリマインダーを送信するまでどのくらい待つべきですか?
1〜2時間が一般的な出発点です。購入意欲がまだ新鮮な間に、ユーザーが自然に戻るのに十分な時間を与えます。さまざまな待機時間をテストし、Journey分析を使用してオーディエンスに最適な方法を見つけましょう。Journey中にユーザーがカートを更新した場合はどうなりますか?
Custom Eventsの場合、ユーザーは現在のJourneyインスタンスをエグジットし(cart_updatedがエグジット条件として発火するため)、更新されたイベントデータで即座に再エントリーします。Tagsの場合、タグが引き続き存在するため、ユーザーは同じJourneyインスタンスに留まります — 再エントリー期間が経過した後にエグジットしてから再エントリーします。
サポートが必要ですか?サポートチームとチャットするか、
support@onesignal.comにメールしてください以下を含めてください:- 発生している問題の詳細と再現手順(利用可能な場合)
- OneSignal App ID
- 該当する場合は、External IDまたはSubscription ID
- 該当する場合は、OneSignalダッシュボードでテストしたメッセージのURL
- 関連するログまたはエラーメッセージ


