実装
まとめ
コンバージョン トラッキングは、次の 3 つの要素で構成されます。
- ランディング ページまたはアプリのエントリ ポイントから
rwg_token
を収集する。 - 適切なアトリビューション期間に合わせて
rwg_token
を維持する - 購入手続き時にコンバージョン イベントを送信する
このコンバージョン トラッキングの実装にあたって、Google アナリティクスやその他のサードパーティの JavaScript を使用する必要はありません。
コンバージョン トラッキングの実装を始める前に、コンバージョンをデバイス単位とユーザーのどちら単位でトラッキングするかを決めておく必要があります。
- デバイスレベルには、ブラウザ Cookie、ローカル ストレージ、アプリのローカル ストレージなど、30 日間のアトリビューション期間の間トークンを保持できる方法の使用が含まれます。トークンはユーザーのデバイスにローカルに保存されるため、ユーザーが使用しているデバイスを変更したり、ローカル ストレージや Cookie を消去したり、シークレット ブラウジングやシークレット モードを使用したりすると、コンバージョン イベントが適切にアトリビューションされない可能性があります。デバイスレベルのコンバージョン トラッキングを使用する場合は、サポートされているすべてのサーフェス(モバイルを含む)に再実装する必要があります。
- ユーザーレベルでは、サーバーサイドの分析システムや他のサーバーサイド システムを介して、アプリケーション データベースでデータを保持します。トークンはサーバーサイドに保存されるため、ユーザーが使用しているデバイスを変更したり、ローカル ストレージや Cookie を消去したり、プライベート ブラウジング モードやシークレット モードを使用したりした場合でも、ユーザーが再度ログインしたときにコンバージョン イベントへの貢献度が決定されます。ユーザー単位のコンバージョン トラッキングを使用する場合、システムのアーキテクチャによっては、これをサーバー側で一度実装すれば、サポートされているすべてのサーフェスで再利用できる場合があります。
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 の永続化
URL パラメータ rwg_token は、指定したすべてのアクション リンクに追加され、合計 30 日間保持する必要があります。rwg_token の値は保存し、編集せずに返す必要があります。
rwg_token とともに、アクション リンクに関連付けられた merchant_id
を保存する必要があります。
既存のトークンが前回のアクセスから保持されている場合は、以前の rwg_token と merchant_id
を置き換えて、30 日間の保存期間をリセットする必要があります。
上記のペアを保持する場合は、デバイスレベルまたはユーザーレベルで値を保存できます。
- デバイスレベルには、ブラウザ Cookie、ローカル ストレージ、アプリのローカル ストレージなど、30 日間のアトリビューション期間の間トークンを保持できる方法の使用が含まれます。
- ユーザーレベルでは、サーバーサイドの分析システムや他のサーバーサイド システムを介して、アプリケーション データベースでデータを保持します。
以下に、ファーストパーティの Cookie を使ってウェブブラウザに値を保存し、デバイスレベルのコンバージョン トラッキングを実施する例を示します。この例では、上記の例のようにトークン値を変数に解析していることを前提としています。この例を使用するには、「rootdomain」を自分のドメインに更新する必要があります。
<script>
if (typeof rwg_token !== 'undefined') {
document.cookie =
"_rwg_token=" + rwg_token + ";_merchant_id="+merchantid +";max-age=2592000;domain=rootdomain.com;path=/";
}
</script>
ユーザーレベルのコンバージョン トラッキングを使用する場合、rwg_token と merchant_id をサーバーに保存し、ユーザーに関連付ける必要があります。
コンバージョン データの送信
Google の位置情報アクション リンクに起因するトランザクションをユーザーが完了したときは、コンバージョン エンドポイントに HTTP POST リクエストを送信する必要があります。エンドポイントは 2 つあります。1 つは本番環境用、もう 1 つはサンドボックス環境用です。
- 本番環境: https://www.google.com/maps/conversion/collect
- サンドボックス: https://www.google.com/maps/conversion/debug/collect
POST の本文は、次の形式の JSON エンコード オブジェクトにする必要があります。
{
"conversion_partner_id": <partnerId>,
"rwg_token": <rwg_token_val>
"merchant_changed": 1|2
}
Merchant_changed 値は、販売者が最初のリダイレクト販売者から変更されたかどうかを判断するために使用されます。この 2 つの値で渡すことのできる
販売者による値の変更 | 要件 |
---|---|
1 | この値は、ユーザーが元の販売者のウェブサイトを離れ、貴社のプラットフォームで別の販売者から購入を完了したときに使用されます。 |
2 | この値は、顧客が元のエンティティ(販売者)を通じて取引を完了したときに使用されます。 |
サンドボックス環境と本番環境の両方で、コンバージョン イベントを送信するときに有効な rwg_token を指定する必要があります。テスト目的で、リリースするまで両方の環境で次のテストトークンを使用します。
AJKvS9WeONmWKEwjG0--HdpzMq0yAVNL8KMxbb44QtbcxMhSx_NUud5b8PLUBFehAIxOBO-iYRIJOknEFkIJmdsofdVJ6uOweQ==
デバイス上の Cookie を使用する(ユーザーのデバイス上の Cookie を使用する)デバイスレベルのコンバージョン トラッキングの詳細な例については、JavaScript で POST リクエストを行う方法をご覧ください。
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,
merchant_changed: merchantChanged
})
});
}
ユーザーレベルのコンバージョン トラッキングを使用する場合は、ユーザーに関連付けられているトークンを(ユーザーが使用しているサーフェスに関係なく)サーバーサイドのストレージ メカニズムから取得し、同じ本番環境またはサンドボックス エンドポイントを使用して送信する必要があります。
コンバージョン アトリビューションの要件
Google が義務付けているコンバージョン アトリビューションの基準は、どの店舗においても、プレイスリンクのインタラクションに対して 30 日間のアトリビューション期間です。
このアトリビューション期間は、次のいずれかのシナリオでコンバージョン イベントが送信されることを Google が想定することを意味します。
- ユーザーが位置情報アクション リンクをクリックし、同じセッションで同じ販売者の注文を行います(販売者の変更値 = 2)
- ユーザーが位置情報アクション リンクをクリックし、その後 30 日以内に別のチャネルから戻ってきて、同じ販売者の注文を行いました。(販売者の 変更値 = 2)
- ユーザーが位置情報アクション リンクをクリックし、同じセッション内で、または 30 日間の期間内の別のセッションで、別の店舗で注文を行います。(販売者の変更値 = 1)
また、ユーザーがプレイス アクション リンクからアクセスできるすべてのサーフェスからコンバージョン イベントを送信することも想定しています。例:
- デスクトップ ウェブ アプリケーションまたはモバイルウェブ アプリケーション
- モバイルアプリ(アプリのディープリンクまたはドメインの登録済みアプリ インテント経由)
トークンがユーザーレベルで格納されている場合(トークンの永続性を参照)、クロスデバイス アトリビューションを提供することが想定されます。つまり、ユーザーがパソコンでアクション リンクをクリックし、同じユーザー アカウントを使用してモバイルで取引を完了した場合、コンバージョン イベントをトリガーする必要があります。
トークンがデバイスレベル(ブラウザの Cookie など)でのみ保存されている場合、クロスデバイス アトリビューションを提供することは想定されていません。この場合、ユーザーがそのデバイス上でアクション リンクをクリックした場合、各デバイスには個別のトークンが保持され、各デバイスは個別にアトリビューション ルールに従います。