実装
概要
コンバージョン トラッキングの実装には、次の 3 つの要素があります。
-
ランディング ページ / アプリのエントリ ポイントから
rwg_tokenを収集します。 -
適切なアトリビューション期間の
rwg_tokenを保持する - 購入手続き時にコンバージョン イベントを送信する
このコンバージョン トラッキングの実装では、Google アナリティクスやその他のサードパーティの JavaScript を使用する必要はありません。
コンバージョン トラッキングの実装を開始する前に、デバイス単位とユーザー単位のどちらでコンバージョンをトラッキングするかを決める必要があります。
- デバイスレベルには、ブラウザ Cookie、ローカル ストレージ、アプリのローカル ストレージ、または 30 日間のアトリビューション ウィンドウでトークンを保持できるその他の方法の使用が含まれます。トークンはユーザーのデバイスにローカルで保存されるため、ユーザーが使用するデバイスを変更した場合、ローカル ストレージや Cookie を消去した場合、プライベート ブラウジング モードやシークレット モードを使用している場合、コンバージョン イベントが適切に割り当てられない可能性があります。デバイスレベルのコンバージョン トラッキングを使用する場合は、サポートされているすべてのサーフェス(モバイルを含む)でこれを再実装する必要があります。
- ユーザーレベルには、アプリケーション データベースへの永続化、サーバーサイドの分析システムやその他のサーバーサイド システムによる永続化が含まれます。トークンはサーバーサイドに保存されるため、ユーザーが使用しているデバイスを変更した場合、ローカル ストレージや Cookie をクリアした場合、プライベート ブラウジング モードやシークレット モードを使用している場合でも、ユーザーが再度ログインするとコンバージョン イベントは 1 回だけアトリビューションされます。ユーザーレベルのコンバージョン トラッキングを使用する場合、システムのアーキテクチャによっては、サーバーサイドで一度実装するだけで、サポートされているすべてのサーフェスで再利用できることがあります。
rwg_token を収集する
フィードで指定した action_link が Google に表示されるたびに、その URL は一意のクエリ パラメータ rwg_token を含むように変更されます。rwg_token の値は、ユーザーがクリックしたリンクに関するメタデータを含むエンコードされた文字列です。このトークンを保存し、コンバージョン イベントの一部として渡します。
各ランディング ページ / アプリ エントリ ポイントで、rwg_token クエリ パラメータに設定された値を解析して保存する必要があります。このパラメータの保存要件については、rwg_token の永続化の手順で説明します。
このトークンをブラウザで解析してデバイスレベルのトラッキングを行う方法の例を以下に示します。または、リクエストへの応答時にサーバーサイドでこのトークンを収集することもできます。
<script> var query = location.search.substring(1); var params = query.split('&'); var rwgToken = undefined; for (var i = 0; i < params.length; ++i) { var pair = params[i].split('='); if (pair[0] == 'rwg_token') { rwgToken = decodeURIComponent(pair[1]); break; } } </script>
rwg_token を永続化する
rwg_token URL パラメータを保持し、提供するすべてのアクション リンクに 30 日間付加する必要があります。rwg_token の値は、編集せずに保存して返す必要があります。以前のアクセスから永続化された既存のトークンがある場合は、古いトークンを置き換え、保存期間の 30 日間のウィンドウをリセットする必要があります。
トークンを永続化する際は、デバイスレベルまたはユーザーレベルでトークンを保存できます。
- デバイスレベルには、ブラウザ Cookie、ローカル ストレージ、アプリのローカル ストレージ、または 30 日間のアトリビューション ウィンドウでトークンを保持できるその他の方法の使用が含まれます。
- ユーザーレベルには、サーバーサイドの分析システムやその他のサーバーサイドのシステムを介して、アプリケーション データベースに永続化することが含まれます。
以下は、デバイスレベルのコンバージョン トラッキングの例です。このトークンは、ファーストパーティ Cookie を介してウェブブラウザに保存されます。この例では、上記の例のように、トークン値を変数に解析していることを前提としています。この例を使用するには、「rootdomain」をドメインに更新する必要があります。
<script> if (typeof rwg_token !== 'undefined') { document.cookie = "_rwg_token=" + rwg_token + ";max-age=2592000;domain=rootdomain.com;path=/"; } </script>
ユーザーレベルのコンバージョン トラッキングを使用する場合は、rwg_token をサーバーに保存し、ユーザーに関連付ける必要があります。
コンバージョン データを送信する
ユーザーが Google プレイス アクション リンクに起因する取引を完了した場合は、コンバージョン エンドポイントに HTTP POST リクエストを送信する必要があります。エンドポイントは 2 つあります。1 つは本番環境用、もう 1 つはサンドボックス環境用です。
- 製品版:
https://www.google.com/maps/conversion/collect - サンドボックス:
https://www.google.com/maps/conversion/debug/collect
投稿の本文は、次の形式の JSON エンコード オブジェクトにする必要があります。
{
'conversion_partner_id': partnerId,
'rwg_token': <rwg_token_val>
}
サンドボックス環境と本番環境の両方で、コンバージョン イベントを送信する際に有効な rwg_token を指定する必要があります。サンドボックス環境でのテスト目的で、次のテストトークンを使用できます。
AJKvS9WeONmWKEwjG0--HdpzMq0yAVNL8KMxbb44QtbcxMhSx_NUud5b8PLUBFehAIxOBO-iYRIJOknEFkIJmdsofdVJ6uOweQ==
この POST リクエストを行う方法の JavaScript でのデバイスレベルのコンバージョン トラッキング(ユーザーのデバイスの Cookie を使用)の完全な例を以下に示します。
const partnerId = XXXXXXXXXX; const endpoint = `https://www.google.com/maps/conversion/collect`; const rwgTokenCookie = document.cookie .split('; ') .find(row => row.startsWith('_rwg_token=')); if (typeof rwgTokenCookie !== 'undefined') { const rwgTokenVal = rwgTokenCookie.split('=')[1]; fetch(endpoint, { method: "POST", body: JSON.stringify({ conversion_partner_id: partnerId, rwg_token: rwgTokenVal }) }); }
ユーザーレベルのコンバージョン トラッキングを使用する場合は、ユーザーに関連付けられているトークン(ユーザーが使用しているサーフェスに関係なく)をサーバーサイドのストレージ メカニズムから取得し、同じ本番環境またはサンドボックス エンドポイントを使用してトークンを送信する必要があります。
コンバージョン アトリビューションの要件
コンバージョンのアトリビューションに関する Google の必須基準は、任意の店舗のプレイスリンクとのインタラクションについて 30 日間のアトリビューション期間を設定することです。
このアトリビューション ウィンドウでは、次のいずれかのシナリオでコンバージョン イベントが送信されることが想定されます。
- ユーザーがプレイス アクション リンクをクリックし、同じセッションで注文した場合
- ユーザーがプレイスのアクション リンクをたどり、30 日間の計測期間内に別のチャネルから戻って注文した場合。
- ユーザーが場所アクション リンクをたどり、同じセッション内または 30 日間の別のセッション内で、別の店舗で注文した場合。
また、ユーザーがプレイス アクション リンクからアクセスできるすべてのサーフェスからコンバージョン イベントが送信されることも想定しています。以下を含む:
- パソコンまたはモバイルのウェブ アプリケーション
- モバイルアプリ(アプリのディープリンクまたはドメインの登録済みアプリ インテント経由)
トークンがユーザーレベルで保存されている場合(トークンの永続化を参照)、クロスデバイス アトリビューションを提供することが想定されます。つまり、パソコンからアクション リンクをたどってモバイルで取引を完了したユーザー(同じユーザー アカウントを使用)は、コンバージョン イベントをトリガーする必要があります。
トークンがデバイスレベルでのみ保存されている場合(ブラウザの Cookie など)、クロスデバイス アトリビューションを提供する必要はありません。この場合、ユーザーがそのデバイスでアクション リンクをたどった場合、各デバイスには個別のトークンが保持され、各デバイスはアトリビューション ルールに個別に従います。