メインコンテンツへスキップ
OneSignalはVendoと提携し、シームレスなShopify統合を実現しました。Vendoはワンクリックでお客様のShopifyストアフロントにOneSignal SDKを展開します — テーマコードの手動編集は不要です。顧客タグ、クライアントサイドの閲覧イベント、サーバーサイドのコマースイベントをOneSignalに同期し、実際の行動と購買履歴からセグメントを構築してプッシュキャンペーンをトリガーできます。 Vendoのドキュメントについては、Vendo OneSignal Destinationをご覧ください。

前提条件

始める前に、以下が揃っていることを確認してください:
  • VendoアプリがインストールされたShopifyストア
  • OneSignalアカウントとアプリ(Webプラットフォーム)
  • OneSignalのApp ID(必須)
  • OneSignalのREST API Key(注文同期やユーザータグ付けなどのサーバーサイドイベントに必要)

OneSignalの設定

1

OneSignalアプリを作成する

onesignal.comにログインし、アプリを作成または選択します。プラットフォームとしてWebを選択し、統合タイプとしてCustom Codeを選択します。
2

Webプッシュ設定を構成する

OneSignalアプリで、Settings > Push & In-App > Web Settingsに移動するか、Webプッシュ設定ガイドに従ってください。サイト設定
  • Site Name:ストア名。デフォルトの通知タイトルとして使用されます。
  • Site URL:Shopifyストアの公開アクセス可能なURL(例:https://yourstore.com)。
    • サイトの正確なオリジンである必要があります。
    • 顧客がhttps://your-site.com/のようなカスタムドメインからサイトにアクセスする場合は、https://your-site.myshopify.com/を使用しないでください。
  • Default Icon URL:通知プロンプトとメッセージ用の256x256pxの正方形PNG またはJPG画像をアップロードします。設定されていない場合はベルアイコンが使用されます。
3

Service Workerパスを設定する

Shopifyはサイトのルートからファイルを配信できないため、VendoがService Workerファイルを配信する場所をOneSignalに伝える必要があります。OneSignalで、Settings > Push & In-App > Web Settingsに移動し、Advanced Push Settingsまでスクロールして次のように設定します:
設定
Service Worker Path/apps/vendo/
Service Worker FilenameOneSignalSDKWorker.js
Updater FilenameOneSignalSDKWorker.js
Service Worker Registration Scope/apps/vendo/
OneSignal Advanced Push Settings showing service worker paths configured for Vendo
Vendoはhttps://yourstore.myshopify.com/apps/vendo/OneSignalSDKWorker.jsに必要なOneSignalSDKWorker.jsファイルを自動的に配信します — 手動でのファイルアップロードは不要です。
Updater FilenameとService Worker Filenameは同じファイルです。OneSignal v16+は両方の目的に単一のService Workerを使用します。
4

認証情報をコピーする

OneSignalで、Settings > Keys & IDsに移動し、App IDREST API Keyをコピーします。これらをVendoに入力します。

Vendoの設定

1

Vendoアプリをインストールする

Shopify App StoreからVendoアプリをインストールします。
2

OneSignal統合を追加する

Vendoで、Integrations > Add Integration > OneSignal(またはDestinations > OneSignal)に移動します。
Vendo Integrations page showing the OneSignal integration option
3

OneSignalの認証情報を入力する

前のセクションのOneSignalのApp IDREST API Keyを入力し、Saveをクリックします。
4

Vendoテーマブロックを有効にする

VendoテーマブロックはストアフロントにOneSignal SDKを読み込みます。これがないとプッシュプロンプトが表示されず、クライアントサイドのトラッキングも機能しません。
  1. Shopify管理者で、Online Store > Themes > Customizeに移動します。
  2. App embeds(左サイドバーのパズルピースアイコン)をクリックします。
  3. Vendoをオンにします。
  4. Saveをクリックします。
テーマブロックはSDKの初期化、Service Workerの登録、プッシュプロンプトの表示、ユーザー識別(プッシュ購読、ログイン、ニュースレター登録)、タグ同期を処理します。
5

同期するイベントを選択する

VendoアプリのOneSignal > Eventsで、OneSignalに送信したいクライアントサイドとサーバーサイドのイベントを有効にします。イベントの完全なリストについては、以下のトラッキングをご覧ください。
6

履歴データの同期(オプション)

Vendoは既存の顧客と最近の注文履歴をOneSignalにバックフィルできます。これは認証情報を保存した後、バックグラウンドで自動的に行われます。
Vendo historical data settings showing sync options for Shopify data

トラッキング

ユーザー識別

Vendoは識別済みユーザーのみのアプローチを使用します — 匿名の訪問者はOneSignalでトラッキングされません。イベントが送信される前に、ユーザーは4つの方法のいずれかで識別される必要があります。これにより重複ユーザーを防ぎ、クリーンで実用的なデータを確保します。
方法仕組み使用される識別子
Webプッシュ購読訪問者がプッシュプロンプトで「許可」をクリックします。OneSignalが自動的にユーザーを作成し、VendoがOneSignal IDをキャプチャします。OneSignal ID
ニュースレター登録訪問者がニュースレターまたはメールフォームを送信します。Vendoがメールをキャプチャし、OneSignal.login(email)を呼び出します。Email
顧客ログイン顧客がShopifyアカウントにログインします。Vendoがこれを検出し、設定された識別子でOneSignal.login()を呼び出します。Shopify Customer ID またはEmail
購入完了顧客が購入を完了します。Vendoが識別子を保存し、OneSignal.login()を呼び出します。Shopify Customer ID またはEmail
モバイルアプリやサードパーティの接続がある場合は、ユーザープロファイルをプラットフォーム間で一貫させるために、他のツールと一致する識別子(Shopify Customer ID vs. Email)を選択してください。VendoアプリのSettings > Customer Identifierで設定します。

アイデンティティのマージ

プッシュ購読者(OneSignal IDで識別)が後でログインしたり購入を完了した場合、VendoはそのShopify Customer IDまたはメールでOneSignal.login()を呼び出します。OneSignalはプッシュ購読を識別済みユーザーにリンクします — 重複ユーザーは作成されません。過去のすべてのプッシュ購読が保持され、サーバーサイドイベント(注文、履行)が正しいユーザープロファイルに届きます。

顧客タグ

Vendoはセグメンテーションのために顧客プロパティをOneSignalのタグとして同期します。すべての値は文字列として保存されます(OneSignalのネイティブフォーマット)。
タグ説明
email顧客のメールアドレス
first_name
last_name
total_spent生涯購入金額
order_count総注文数
verified_email"true" または "false"
tax_exempt"true" または "false"
marketing_stateマーケティング同意状態
first_order_date初回注文日(ISO 8601)
last_order_date最新注文日(ISO 8601)
customer_created_at顧客作成日
customer_tagsカンマ区切りのShopifyタグ
email_marketing_consentマーケティングオプトイン状態

クライアントサイドイベント

VendoはShopify Web Pixelを通じてストアフロントのクライアントサイドカスタムイベントをトラッキングし、OneSignalに送信します。これらのイベントはユーザーが識別された後にのみ送信されます。
イベント説明
page_viewed顧客がページを訪問(ストアフロント、チェックアウト、または注文状態)
product_viewed顧客が商品詳細ページを表示
collection_viewed顧客が商品コレクションページを表示
search_submitted顧客がストアフロントで検索を実行
product_added_to_cart商品がカートに追加された
product_removed_from_cart商品がカートから削除された
cart_viewed顧客がカートページを表示
checkout_started顧客がチェックアウトを開始
checkout_contact_info_submitted連絡先情報ステップが送信された
checkout_address_info_submitted住所情報ステップが送信された
checkout_shipping_info_submitted配送方法が選択された
payment_info_submitted支払い詳細が送信された
checkout_completedチェックアウトが正常に完了
Vendo client-side events settings showing available custom events

サーバーサイドイベント

ShopifyのコマースイベントはVendoパイプラインを通じてエクスポートされ、OneSignalに転送されます。これらは常にShopify Customer IDをexternal_idとして使用します。
イベント説明
received_orders新しい注文が作成された
fulfilled_orders注文が履行/発送された
delivered_orders注文が配達された
refunded_orders注文が全額返金された
partially_refunded_orders注文が一部返金された
abandoned_checkoutsチェックアウトが放棄された
Vendo server-side events settings showing available Shopify webhook events

共通イベントプロパティ

すべてのイベントには以下のプロパティが含まれます(文字列として):
プロパティ説明
order_id表示注文識別子
shopify_order_idShopify内部注文ID
email顧客のメールアドレス
currency注文通貨
sourceイベントソース
version統合バージョン

データ同期頻度

データタイプ同期頻度
顧客タグ4〜6時間ごと
注文イベントほぼリアルタイム(数分以内)
放棄カート1〜2時間ごと
履行イベントほぼリアルタイム

プラットフォーム詳細

設定
同期方法Vendo経由のクライアント + サーバーサイド
アイデンティティShopify Customer ID、Email、またはOneSignal ID
重複排除イベントごとのUUID v5ハッシュ
バッチサイズリクエストあたり1,000イベント
データフォーマットすべての値を文字列として保存

ユースケース

放棄カート回収

abandoned_checkoutsイベントでトリガーされるJourneyを作成します。放棄から1時間待って、checkout_urlプロパティを使用した回収リンク付きのプッシュ通知を送信します。

注文状態の更新

fulfilled_ordersdelivered_ordersのJourneyを作成し、注文が発送・配達された際に追跡情報を含む即時プッシュ通知を送信します。

VIP顧客のエンゲージメント

total_spentがしきい値を超えるセグメントを作成し、first_nameタグでパーソナライズされた限定オファーを送信します。

再エンゲージメントキャンペーン

last_order_dateが90日以上前のセグメントを作成して非アクティブな顧客をターゲットにし、ウィンバックキャンペーンを送信します。

対応ソース

OneSignalは以下のVendoデータソースに対応しています:
ソースイベントユーザータグオーディエンス
Shopifyありありあり
Stripeありありあり
Mixpanelあり
Segmentあり
Amplitudeあり
イベントとユーザータグにはShopifyまたはStripeをデータソースとして使用する必要があります。オーディエンスセグメントはBigQueryデータセット内の任意のソースデータから構築できます。

テスト

1

Service Workerを確認する

ブラウザーでhttps://yourstore.myshopify.com/apps/vendo/OneSignalSDKWorker.jsにアクセスします。JavaScriptコードが表示されるはずです。404が表示された場合は、Vendoアプリがインストールされているか確認してください。ブラウザーのDevTools(F12)を開き、Application > Service Workersに移動して、OneSignalSDKWorker.jsがスコープ/apps/vendo/で登録されていることを確認することもできます。
2

プッシュプロンプトをテストする

シークレット/プライベートウィンドウでストアフロントを開きます。OneSignalの通知許可プロンプトが表示されるはずです。許可をクリックして購読します。
3

テスト通知を送信する

OneSignalダッシュボードで、Messages > Push > New Messageに移動します。購読者にテスト通知を送信し、表示されることを確認します。
4

OneSignalでユーザーデータを確認する

Audience > Subscriptionsに移動し、テスト購読が表示されていることを確認します。識別済みユーザーのユーザータグ(メール、名前など)が同期されているか確認します。
5

テストイベントをトリガーする

ストアで商品を閲覧するか、テストチェックアウトを完了します。OneSignalダッシュボードのユーザーアクティビティにイベントが表示されることを確認します。

トラブルシューティング

Service Workerが404を返す

Service Workerは/apps/vendo/OneSignalSDKWorker.jsに存在する必要があります。ルートパス(/OneSignalSDKWorker.js)で404エラーが表示される場合、Service WorkerパスがOneSignalに設定されていません — Service Worker設定ステップに従ってください。/apps/vendo/パスで404が表示される場合は、Vendoアプリがインストールされておりテーマブロックが有効になっていることを確認してください。

プッシュプロンプトが表示されない

App embedsでVendoテーマブロックが有効になっているか確認してください。ブラウザーが通知を許可しているか確認してください(アドレスバーの錠前アイコンをクリック)。以前にプロンプトが拒否されていた場合に備えて、シークレット/プライベートウィンドウを試してください。

タグがOneSignalに表示されない

タグは識別済みユーザーにのみ同期されます — 匿名の訪問者はトラッキングされません。ユーザーがプッシュ購読、ログイン、ニュースレター登録、またはチェックアウトで識別されていることを確認してください。初期タグ同期には数時間かかる場合があります。

イベントがトリガーされない

VendoアプリのOneSignal > Eventsでイベントが有効になっていることを確認してください。クライアントサイドイベントにはShopify Web Pixelがアクティブで、ユーザーが識別されている必要があります。サーバーサイドイベントにはREST API Keyが設定されている必要があります。

通知は「配信済み」と表示されるが表示されない

統合は正常に機能しています — 問題はブラウザーまたはOSの通知設定にあります。ブラウザーのOSの通知設定を確認し、おやすみモード/集中モードがオフになっていることを確認し、ブラウザーレベルの通知権限を確認してください。

FAQ

セットアップ後に顧客識別子を変更できますか?

はい。VendoアプリのSettings > Customer Identifierで設定を更新します。既存のユーザーがすでに以前の方法で識別されていた場合、識別子を変更すると別々のユーザープロファイルが作成される可能性があります。

Vendo統合はモバイルアプリをサポートしますか?

Vendo統合はShopifyストアフロントとWebプッシュに特化しています。モバイルアプリも持っている場合は、ユーザープロファイルを一貫させるために、Vendoで選択する識別子がモバイルアプリで使用するものと一致することを確認してください。

訪問者が識別されなかった場合はどうなりますか?

識別されていない訪問者のイベントはOneSignalに送信されません。訪問者が自己を識別すると(プッシュ購読、ログイン、ニュースレター登録、またはチェックアウト完了)、Vendoはイベントの送信を開始します。この識別済みユーザーのみのアプローチにより、重複ユーザーを防ぎ、クリーンなデータを確保します。

VendoはなぜIdentified-Onlyアプローチを使用するのですか?

以前のバージョンはShopifyのセッションクッキーを識別子として使用して匿名訪問者をトラッキングしていました。これにより適切にマージできない重複OneSignalユーザーが作成され、ユーザー数の水増しとデータの断片化につながりました。Identified-Onlyアプローチにより、すべてのOneSignalユーザーが実在し、実用的であることを保証します。

関連ページ

Keys & IDs

OneSignalのApp IDとREST APIキーを確認します。

カスタムイベント

ユーザー行動をトラッキングし、Shopifyイベントに基づいて自動化をトリガーします。

Webプッシュ設定

ShopifyストアのWebプッシュ通知を設定します。

Web権限プロンプト

訪問者にWebプッシュ許可を求める方法とタイミングを設定します。