著者:
Vlad Kononov
この記事では、StapeとサーバーサイドGTMを使用してShopifyのトラッキング精度を100%にする方法を解説します。データ損失を防ぎ、アトリビューションを改善し、信頼性と効果に優れたトラッキングソリューションでマーケティングパフォーマンスを最適化する方法をご紹介します。正確なShopifyアナリティクスは、ビジネス目標の達成に欠かせません。
予算の配分方法を決め、キャンペーンのパフォーマンスを確認し、投資対効果を把握するには、信頼できるデータが必要です。追跡すべきeコマースKPIを知ることで、データを正しく理解し、効果的に活用できます。コンバージョンの追跡漏れは、不完全な状況把握や誤った意思決定につながる可能性があります。幸い、Stapeがその問題を解決します。この記事では、どのような状況でもShopifyで購入の100%を追跡し、必要なすべてのデータをアナリティクスやマーケティングプラットフォームに送信する方法を説明します。これにより、より有用な分析結果、正確なアトリビューションレポートを得て、ピクセルをより効果的に学習させることができます。
Shopifyはさまざまなイベントを購読してより正確に追跡できるWeb Pixel APIを提供していますが、それでも一部の注文が広告プラットフォームやアナリティクスプラットフォームに報告されないことがあります。これは、広告ブロッカー、ITPによる制限、インターネット接続の遅さ、ユーザーのデバイスの不具合、あるいは単なる偶然など、さまざまな理由で発生します。これらの要因のいずれによっても、コンバージョンを追跡できなくなる可能性があります。
ご心配なく、Stapeが解決します! Shopifyのサーバーサイドトラッキングを利用すれば、こうした一般的な問題を回避できます。
Data Store機能はProプラン以上で利用できます。カスタムソリューションをご希望の場合は、営業部門までお問い合わせください。
手動でのイベント設定は不要です
Shopify向けStape Conversion TrackingとSetup Wizardを使えば、数分でGTMをサーバーサイドにインストールし、主要なeコマースイベントを自動生成して、Google、Meta、TikTokなどですぐに使えるタグを読み込めます。イベントはStapeのサーバーサイドトラッキングプラットフォームを経由するため、最大40%多くのコンバージョンを獲得し、ROASを改善できます。
実装フローを簡単にまとめると、次のとおりです。
以下の手順を実装する前に、Data Storeを有効にする必要があります。
1. Stapeアカウントにログインし、ダッシュボードからsGTMコンテナを選択します。

2. Data Storeタブをクリックします。
3. Activate Data Storeをクリックします。

ShopifyのStape Conversion Tracking appを使うと、Custom GTM and GA4 Loaderを簡単にインストールし、広告ブロッカーに対する耐性を高めることができます。ShopifyにGTMをインストールすると、この基盤レイヤーがサーバーコンテナに必要なクライアントサイドでのデータ収集を処理します。Cookie Keeperの機能と組み合わせることで、ITPの制限も回避できます。
このステップの実装方法を説明した便利な記事やすぐに使えるコンテナテンプレートがあります。ぜひご確認ください。
WebおよびサーバーGTMを使用したShopifyトラッキングのデバッグ:完全ガイド – 基本設定が有効になったら、検証を省略しないでください。Shopifyのサンドボックス化されたチェックアウトでは、GTMプレビューではタグが正常に動作しているように見えても、本番環境では気付かないうちに失敗することがあります。
ここでは、将来必要になる可能性のあるCookieをData Storeに保存します。
例として、ShopifyのWeb PixelからsGTMへ送信する「checkout_started」イベントでMetaのCookieを保存します。この時点でチェックアウトトークンが利用可能になるため、後でウェブフックとチェックアウト、Cookieを紐付けるための照合パラメータとして使用できます。
同様のプロセスは、データを報告したい他のプラットフォームにも適用できます。
次のコードスニペットは、チェックアウトトークンとMetaのCookieをサーバーコンテナURLに含むデータを送信します。Data Clientがこのリクエストを受け取り、デフォルトでは/dataパスでリクエストを受け付けます。
analytics.subscribe("checkout_started", (event) => {
setTimeout(() => {
async function getCookiesPayload() {
try {
const payload = {
"event": "store_cookies",
"cart_token": init.data.cart.id,
"fbp": await browser.cookie.get('_fbp'),
"fbc": await browser.cookie.get('_fbc')
};
return payload;
} catch (error) {
console.error('Error retrieving cookies:', error);
return null;
}
}
async function sendCookiesToSgtm() {
const payload = await getCookiesPayload();
if (payload) {
fetch("https://sst.example.com/data", {
method: "POST",
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify(payload),
keepalive: true
}).then(response => {
console.log('Payload sent successfully:', response);
}).catch(error => {
console.error('Error sending payload:', error);
});
}
}
sendCookiesToSgtm();
}, 1500);
});次に、これらのCookieをサーバーGTMギャラリーで利用できるStape Store Writer tagを使ってStape Storeに保存します。後でCookieを取得し、ウェブフック経由でMetaに報告できるようにするためです。これらのCookieはカートトークンを参照して保存されます。カートトークンは「store_cookies」イベントで利用でき、Shopifyから送信されるネイティブなウェブフックのデータにも含まれます。
Stape Store Writer tagの設定例は次のとおりです。

該当する場合は、プライバシー規制や、ストアの広告および/またはアナリティクスに関する同意ステータスも考慮してください。これにより、後でユーザーが同意を付与したか、そのコンバージョンを報告することが許可されているかを確認できます。また、同意バナーがShopify Privacy APIに対応している場合は、必要な同意ステータスが付与された場合にのみWeb Pixelが発火するよう設定することもできます。
Webコンテナから通常どおり報告されたすべての購入をData Storeに保存し、後でこのコンバージョンがすでにMetaに報告されているか確認できるようにします。
前のステップと同様の方法を使用しますが、今回はtransaction_idをドキュメントキーとして使用します。この値はShopifyのウェブフックデータからも取得できます。
この目的で設定できるStape Store Writer tagの例は次のとおりです。

transaction_idの「number」変数タイプをstringに変換して、sGTM、Shopify、Data Storeで使用されるデータ型の競合を避けることをおすすめします。sGTMギャラリーには、これを簡単に行える変数があります。
Shopifyではさまざまな方法でウェブフックを設定できます。最も簡単な方法の1つはStape Conversion Tracking appを使用することです。これには必要なデータがすべて含まれており、カートトークン、適切に構造化された注文・商品情報、ユーザーデータが含まれます。ネイティブなウェブフック機能や、任意の他のアプリを使用することもできます。

また、Webコンテナから送信されたリクエストがバックエンドからのウェブフックより先にサーバーコンテナへ到達するよう、StapeのRequest Delay Power Upを使用することをおすすめします。これにより、今回重要となるリクエストの順序を明示的に制御できます。1分の遅延で購入リクエストがサーバーコンテナに到達するには十分なはずで、必要なすべてのタグを発火させ、必要なリクエストを処理できます。
この時点で、次の状態になっています。
ここでは、受信したウェブフックを処理してMetaに報告すべきか、それとも注文がすでに処理済みなので無視すべきかを確認します。
そこで、受信したウェブフックからtransaction_idを取得し、Stape Store Lookup variableを使用して、Data Storeで利用可能かどうかを確認します。

その結果、このtransaction_idがData Storeに見つかった場合、変数は「true」を返します。これは、このトランザクションがすでにWebコンテナから報告されているため、このウェブフックを無視すべきことを意味します。
変数がundefinedまたはfalseを返す場合、このトランザクションは何らかの理由でWebコンテナから報告されていないため、このウェブフックを処理する必要があります。
Shopify CAPI用の追加のFacebookタグを設定し、ウェブフックから取得したvalue、currency、content_ids、ユーザーデータなどの基本情報を入力します。
最も正確なアトリビューションを実現するには、Data Storeから_fbpと_fbcのCookieも報告する必要があります。これらは、ウェブフックで利用可能なカートトークンを参照するStape Store Lookup variableを使用して取得できます。例は次のとおりです。

_fbp用のStape Store Lookup variableではFacebookタグのBrowser IDパラメータを上書きし、_fbc用のStape Store LookupではClick IDパラメータを上書きします。
このFacebookタグは、transaction_idに対するStape Store Lookup variableのチェックがtrue以外の値を返した場合に発火するようにします。
該当する場合は、同様の方法で同意ステータスも追加で確認します。
この方法を使えば、Shopifyのコンバージョントラッキング精度を100%にでき、適切にアトリビューションできるコンバージョンを取りこぼすことがなくなります。必要なマーケティング/アナリティクスプラットフォームにも拡張できます。ステップ2ですべての必要なCookieを保存するようにしてください。その後、ステップ5でTikTok、Snapchat、GA4、Google Adsなどの追加のタグを作成できます。Data Storeから取得したCookieの値で必要なパラメータを上書きするだけです。
Google Adsのようなより複雑なプラットフォームについては、Stapeがすでにシンプルな認証プロセスを備えた優れたソリューションを提供しています。具体的には、Google Ads Offline Conversion tracking tagやConversion Adjustment tagのレポートなどがあり、このような特定のニーズがある場合に利用できます。
ご質問がございましたら、お気軽にお問い合わせください。
サーバーサイドで始めませんか?
無料で試す
コメント