注文確認番号などの固有のトランザクション ID は、特に購入のコンバージョンを正確に測定するために不可欠です。トランザクション ID は、コンバージョンの重複を防ぎ、高度な測定機能の利用を可能にします。
トランザクション ID は、オンラインとオフラインのコンバージョンのトラッキングに使用します。
注文確認ページなどのコンバージョン ページにコンバージョン トラッキング タグを追加した場合、ユーザーがウェブサイトで期待される行動を果たしたときに、コンバージョンを 1 回だけカウントする必要があります。しかし、ユーザーがコンバージョン ページに戻ったり、そのページを再読み込みしたりすると、同じタグが再び呼び出され、同じ注文に対して 2 回目のコンバージョンがカウントされる可能性があります。
こうしたコンバージョンの重複の発生を防ぐには、各注文に固有のトランザクション ID(オーダー確認番号などが一般的)を取得するようにコンバージョン トラッキング タグを編集します。同じトランザクション ID のコンバージョン アクションが 2 回発生している場合、2 回目のコンバージョンは重複していると認識されます。この場合、エラー メッセージが表示され、重複するコンバージョンはカウントされません。
コンバージョンの測定精度を高めるために、Google タグに加えて、バックエンド(CRM など)に保存したオンライン コンバージョンをデータ マネージャーを使用してアップロードすることを強くおすすめします。この場合、タグとサーバー間アップロードの両方で同じトランザクション ID を使用する必要があります。これにより、トラッキングされるコンバージョンを増やすことができます。詳しくはこちらをご確認ください。
この記事では、固有のトランザクション ID をコンバージョン トラッキング タグに追加する方法とオフライン コンバージョンでその ID を使用する方法を説明します。
このページの内容
- 始める前に
- 手順
- Google タグでのトランザクション ID の実装を確認する
- Chrome デベロッパー ツールを使用してコンバージョン ping を確認する
- トランザクション ID のコーディング エラー
- トランザクション ID と「カウント」設定の違いについて
始める前に
コンバージョン トラッキング タグにトランザクション ID を追加するには、事前に次の準備が必要です。
- ウェブサイトにコンバージョン トラッキングを設定します。以下の手順を行うには、事前に Google 広告アカウントでコンバージョン アクションを作成し、ウェブサイトにコンバージョン タグを追加しておく必要があります。
- ウェブサイトで、各トランザクションに固有のトランザクション ID(注文確認番号など)を生成できる必要があります。トランザクション ID には、数字、文字、特殊文字(ダッシュやスペースなど)を含めることができます。また、半角 64 文字以下とする必要があります。各トランザクション ID は、個々の注文ごとに固有である必要があります。複数の注文に同じ ID を使用すると、少なくカウントされる可能性があります。個々のユーザーの識別に利用可能な情報は一切含めないでください。
- 設定によっては、ウェブサイトでのコードの編集が必要となる場合があります。ご自身で行うかウェブ デベロッパーに依頼して、コンバージョン トラッキング タグを編集してください。
手順
各注文に固有のオーダー番号を取り出して送信するには、コンバージョン トラッキング タグにコードを追加する必要があります。Google 広告アカウント側で設定などを変更する必要はなく、タグの編集だけで対応できます。
留意点
トランザクション ID は必ず動的な値としてください。異なるトランザクションに対して Google 広告に同じ ID を送信した場合、コンバージョンが大幅に少なくカウントされる可能性があります。
Google タグのイベント スニペットを使用してトランザクション ID を設定する
ステップ 1/3: トランザクション ID を生成して出力する
コンバージョンが発生したら(ユーザーが購入を完了するなど)、サーバーは固有のトランザクション ID を生成する必要があります。次に、その ID をコンバージョン確認ページの HTML で使用できるようにします。通常、ページ上の JavaScript 変数に ID を直接出力する方法をとります。
たとえば、サーバーサイドのコードは確認ページで次のようなスニペットを生成できます。
<script>
const uniqueTransactionId = 'TID_1663445995_789'; // この値はサーバーによって動的に生成されます
</script>ステップ 2/3: Google タグのイベント スニペットで ID を渡す
次に、この動的に生成された ID を渡すよう Google タグのイベント スニペットに変更を加えます。コンバージョン ページでイベント スニペットを見つけ、前の手順で定義した変数を使用して transaction_id パラメータを追加します。
// この変数にはサーバーからの一意の ID を入力する必要があります
const uniqueTransactionId = 'TID_1663445995_789';
gtag('event', 'conversion', {
'send_to': 'AW-CONVERSION_ID/CONVERSION_LABEL',
'value': 120.50,
'currency': 'USD',
'transaction_id': uniqueTransactionId // ここに一意の ID を指定します
});
ステップ 3/3: 実装を確認する
コードをデプロイしたら、サイトでテスト購入を行います。その後、Tag Assistant を使用して、コンバージョン ping でトランザクション ID が正しく渡されていることを確認できます。
Google タグ マネージャーを使用してトランザクション ID を設定する
Google タグ マネージャーを使用している広告主様の場合、固有のトランザクション ID を渡す最も確実な方法は、ウェブサイトのデータレイヤーを使用することです。このプロセスは主に 2 段階に分かれます。まず、ウェブサイトのデベロッパーは ID がデータレイヤーにプッシュされるようにします。次に、その ID を読み取って Google 広告に渡すよう Google タグ マネージャーを設定します。
第 1 段階: トランザクション ID をデータレイヤーにプッシュする(ウェブ デベロッパー向け)
Google タグ マネージャーを設定する前に、ウェブ デベロッパーは、コンバージョンが発生するたびに固有のトランザクション ID がデータレイヤーにプッシュされるようウェブサイトのコードを更新する必要があります。これにより、Google タグ マネージャーで値を取得できるようになります。
コンバージョン確認ページに追加するコードの例を次に示します。
<script>
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
'event': 'purchase', // GTM タグをトリガーするカスタム イベント名
'transaction_id': 'UNIQUE_TRANSACTION_ID_FROM_YOUR_SYSTEM' // 動的なトランザクション ID
});
</script>デベロッパー向けの重要ポイント:
transaction_idには、注文ごとに固有の値を動的に入力する必要があります。- 「purchase」などのカスタム イベントをプッシュすることは、Google タグ マネージャーで Google 広告タグを配信する上で明確なシグナルとなるため、ベスト プラクティスとして推奨されます。
第 2 段階: Google タグ マネージャーを設定する
データレイヤーを適切に実装したら、Google タグ マネージャーのコンテナで次の手順を行います。
ステップ 1/4: トリガーを作成する
まず、購入イベントが発生したときに Google 広告タグを配信させるためのトリガーを作成します。
- Google タグ マネージャーのワークスペースで、[トリガー] に移動し、[新規] をクリックします。
- トリガーの名前を入力します(例:「カスタム イベント - 購入」)。
- [トリガーの設定] で、[カスタム イベント] を選択します。
- [イベント名] フィールドに、デベロッパーがデータレイヤーにプッシュしたイベントの名前(例: purchase)を入力します。
- [保存] をクリックします。
ステップ 2/4: データレイヤー変数を作成する
次に、データレイヤーからトランザクション ID を取得する変数を作成します。
- [変数] に移動し、[ユーザー定義変数] で [新規] をクリックします。
- 変数に名前を付けます(例:「DLV - transaction_id」)。
- [変数の設定] で、[データレイヤー変数] を選択します。
- [データレイヤーの変数名] フィールドに
transaction_idを入力します。これは、dataLayer.push()コードで使用されているキーと完全に一致している必要があります。 - [保存] をクリックします。
ステップ 3/4: Google 広告のコンバージョン トラッキング タグを更新する
最後に、作成した変数を使用するよう Google 広告のコンバージョン トラッキング タグを設定します。
- [タグ] に移動し、Google 広告の既存のコンバージョン トラッキング タグをクリックするか、新しいタグを作成します(未作成の場合)。
- [タグの設定] で、[トランザクション ID] フィールドを見つけます。
- フィールドの横にある
ボタンをクリックし、前のステップで作成したデータレイヤー変数を選択します(例:
{{DLV - transaction_id}})。 - [トリガー] で、ステップ 1 で作成したトリガーを選択します(例:「カスタム イベント - 購入」)。
- [保存] をクリックします。
- Google タグ マネージャーのコンテナを公開して、変更をライブ環境に反映させます。
上記の手順を通じて、Google タグ マネージャーは購入が発生するたびにデータレイヤーから固有のトランザクション ID を動的に取得し、Google 広告に送信するようになります。
ステップ 4: 実装を確認する
タグを設定して Google タグ マネージャーのコンテナを公開したら、トランザクション ID が正しく取得され、渡されていることを確認する必要があります。これを行うには、Google タグ マネージャーに用意されているプレビュー モードを使用するのが最適です。
- プレビュー モードを開始する: Google タグ マネージャーのワークスペースで、右上の [プレビュー] ボタンをクリックします。ウェブサイトの URL を入力し、[接続] をクリックします。新しいブラウザタブでウェブサイトが開き、下部に Tag Assistant のデバッグペインが表示されます。
- テスト コンバージョンを完了する: ウェブサイトでテスト購入を行い、コンバージョン イベントをトリガーします。
- タグの配信を確認する: Tag Assistant のウィンドウまたはタブで、作成したカスタム イベント(
purchaseなど)が左側のイベント タイムラインに表示されていることを確認します。そのイベントをクリックします。 - Google 広告タグを検証する: そのイベントの [配信されたタグ] セクションに、Google 広告のコンバージョン トラッキング タグが表示されます。タグをクリックして、詳細を確認します。
- トランザクション ID を確認する: タグの詳細に、Google 広告に渡された正確な値が表示されます。[トランザクション ID] フィールドを探し、テスト購入用に生成した一意の ID が表示されていることを確認します。静的な値であったり、「未定義」と表示されていたりしてはなりません。
- テストを繰り返す: ID が動的であることを確認するため、もう一度テスト購入を行い、新しくて異なるトランザクション ID が取得されることを確認します。
コンテンツ マネジメント システム(CMS)を使用してトランザクション ID を設定する
コンテンツ マネジメント システム(CMS)が Google と密接に統合されている場合、すでに購入のコンバージョンやイベントでトランザクション ID が送信されているケースがあります。たとえば、Shopify では、Google & YouTube アプリ経由のコンバージョンには自動的にトランザクション ID が含まれます。
CMS や e コマース プラットフォームが Google と直接統合されておらず、API によるアクセスを提供している場合は、トランザクション ID を手動で取得できます。詳しくは、ご利用のプラットフォームのドキュメントをご確認ください。トランザクション ID は、グローバル JavaScript 変数またはデータレイヤーで確認できる場合もあれば、サーバーサイド API を通じて取得し、タグを通じて使用できるようフロントエンドに渡す必要がある場合もあります。
オフライン コンバージョンのトランザクション ID を設定する
広告クリックを経由したコンバージョンをインポートする際は、必要に応じて、トランザクション ID(またはオーダー ID)の列に固有のトランザクション ID を追加できます。追加のデータソースのトランザクション ID を設定する場合、トランザクション ID は必須となります。オフライン コンバージョン インポート(OCI)については、トランザクション ID は省略可能ですが、購入コンバージョンにはトランザクション ID を含めることをおすすめします。
複数のデータソースを使用するコンバージョンのトランザクション ID を設定する
データ マネージャー経由で別のデータソースを接続して、ウェブサイト コンバージョンを補完するデータを追加する場合は、購入ごとに固有のトランザクション ID を収集することが不可欠です。
追加するデータソースの ID は、コンバージョン タグで取得された transaction_id と完全に一致している必要があります。接頭辞、接尾辞、余分なスペースなどの不一致があると、Google 広告でイベントの重複除去が行われず、コンバージョンが正確にレポートされません。
Google タグでのトランザクション ID の実装を確認する
Google Tag Assistant を使用して、トランザクション ID が正しく送信されているかどうかを確認できます。テスト購入を行う際は、Tag Assistant を使用して、配信された Google 広告タグの [トランザクション ID] フィールドに固有の値が含まれていることを確認します。
Chrome デベロッパー ツールを使用してコンバージョン ping を確認する
Chrome デベロッパー ツールを使用してコンバージョン ping を確認することもできます。
- Google Chrome で、ウェブサイトの任意の場所を右クリックし、[検証] を選択します。
- [Network] タブに移動し、
https://www.googleadservices.com/pagead/conversionへのリクエスト内で&oid=パラメータを探します。 - 注文ごとに固有の値が指定されていることを確認します。
トランザクション ID のコーディング エラー
トランザクション ID はコンバージョンが重複してカウントされるのを避けるのに役立ちますが、トランザクション ID が正しくコード化されていない場合、コンバージョンが無効とマークされることがあります。また、複数のユーザーが同じトランザクション ID を使用している場合、Google 広告では重複除去プロセスがスキップされることがあります。
コーディング エラーの例を次に示します。
動的変数のエラー
サーバーサイド コードでは、固有のトランザクション ID を動的に提供するための変数を使用します。これらの変数を表すスニペットの解決に失敗して、エラーが発生することがあります。次にいくつか、スニペットの例を示します。
{{ order_number }}[invoice-prefix][invoice-number]null-user-idgtm.init<%= orderId %>[object Object].transaction_id<google_ads_transaction_id>Number(order.id).toString()<?php echo $order->id; ?><b>Notice</b>: Undefined variable: order_id in <b>/home/examples/example.com.ua/www/catalog/view/theme/default/template/common/success.tpl</b> on line <b>66</b>
例
Google タグのイベント スニペットでは {{ order_number }} を使用している一方で、サーバーサイドの変数では {{order_number}}(余分なスペースがない)を使用している場合、トランザクション ID を入力できません。その場合、実際の ID ではなく、{{ order_number }} 変数が表示される結果になります。
プレースホルダの値
これらは、汎用的な文字列または固定値、テスト用の静的な値またはラベルに使用されるもので、トランザクション ID に使用すべきではありません。
button-confirmcongratsthank_younot setbuyPage ViewConversion Tracking Google Ads1234https://www.google.com/Google
適切でないデータ型
トランザクション ID として使用すべきでないデータ型や値は次のとおりです。
- URL
www.example.comhttps://www.example.org/admin/example.comhttps://www.example.com/products
- メール アドレス
...@gmail.com...@yahoo.comカスタム ドメイン
- 価格または通貨
$17.99$5.37$21.45$15.50USDAUD
- ハッシュ化された文字列または UUID 文字列
50d858e0985ecc7f60418aaf0cc5ab587f42=G-1234567890e9891562113d8a62add1bf0888-af2bdbe1aa9b6ec1e
- 商品
/products/dog-proof-fence-pack-timber-fences/shop/product/electric-toothbrushProduct Pro_trial_monthly_undefined
- 電話番号
トランザクション ID は、URL の疑問符の後に key=value の形式で表示される場合があります。たとえば、URL が https://example.com/success?order_id=54321 の場合、order_id は変数名で、54321 がトランザクション ID です。URL のその他の部分をトランザクション ID として使用しないでください。
トランザクション ID と「カウント」設定の違いについて
イベント スニペットにトランザクション ID を追加することは、1 回の広告クリックにつきコンバージョンを 1 回のみカウントするように「カウント」設定を変更することとは意味が違います。
トランザクション ID を追加すると、同じコンバージョンを重複してカウントする事態(ユーザーが購入確認ページを 2 回表示して、1 回の購入が 2 回のコンバージョンとしてカウントされるなど)を避けることができます。
一方、「カウント」設定を「1 回」に変更すると、広告のクリック後に異なる購入が複数回発生したとしても、コンバージョンは 1 回のみカウントされます。
「カウント」設定とトランザクション ID の用途の違い
- 1 回の広告クリックから獲得した見込み顧客をトラッキングする場合は、カウント設定を「1 回」に設定します。
- 1 回の広告クリックから発生した購入をすべて計測する一方、同じ購入を 2 回カウントしないようにする場合は、イベント スニペットにトランザクション ID を追加します。購入を計測する場合は、トランザクション ID を追加する方法をおすすめします。
注:
- トランザクション ID は Google 広告のレポートに表示されません。
- スニペットにトランザクション ID を追加しても、ビュースルー コンバージョンの重複は解消されません。
- ウェブサイトでコンバージョンの重複を防ぐソリューションをすでに導入している場合は、コンバージョン データの精度を確保する補完策として、トランザクション ID を追加することをおすすめします。
- Google タグ マネージャーをご利用の場合は、トランザクション ID を使用できます。トランザクション ID は静的な文字列ではなく、変数として入力してください。