Google広告で動的リマーケティングを実施するために必要なタグの設定方法について、GoogleさんはWebに様々なドキュメントを公開されており、これらを整理統合して理解することは、なかなか難しいですよね。本記事では、Googleタグマネージャーを導入済みのECサイト(小売業種のサイト)を例として、動的リマーケティングタグ設定の典型的な方法をご案内します。ECサイトさんに人気の「スマートショッピングキャンペーン」に必要なタグ設定についても、本記事に記載の方法で万全です。
- 2020年7月現在、広告主サイトでのユーザーの行動に関する情報(ユーザーが閲覧したページ階層や商品ID等の情報)を、動的リマーケティングタグにセットする方法については、次の2種類のルールが存在しています。
・新しいルール:https://support.google.com/google-ads/answer/7305793
・従来型ルール:https://developers.google.com/adwords-remarketing-tag/parameters
Googleさんいわく、どちらのルールに沿って設定しても、タグの機能に差は生まれないそうです。本記事では、より設定の簡単な、従来型ルールに沿った方法をご案内いたします。 - 小売以外の業種(求人,不動産,旅行,教育など)のサイトさまについては、本記事に記載している小売業種向けのカスタムパラメータを、各業種別のカスタムパラメータに読み替えることで、本記事をご利用ください。
目次
- Googleタグマネージャーで7種類のリマーケティングタグの大枠を作成する
- HTMLから取得した商品ID,金額をGTM変数に格納して上記空欄にセットする
- リマーケティングタグが正常に発火していることを確認する
Googleタグマネージャーで7種類のリマーケティングタグの大枠を作成する
下記の【図表1】は、Google広告の動的リマーケティング(またはスマートショッピングキャンペーン)を実施するECサイトの、典型的なタグ設定例(Googleタグマネージャーのタグ一覧画面)です。
【図表1】Google動的リマーケティングを実施するECサイトで発火すべきタグ一覧(典型例):
- 上記(8)(9)のタグは、Google広告を利用するサイトの多くに導入されている、コンバージョントラッキングタグとコンバージョンリンカータグです。動的リマーケティングを実施する場合にも発火させるケースがほとんどでしょう。
- 上記(1)~(7)のタグは、動的リマーケティングを実施するために必要な、Google広告のリマーケティングタグであり、それぞれを異なるページ階層で発火させる必要があります。(1)~(7)の「タグの種類」は、いずれも「Google広告のリマーケティング」であり、7種類のタグの違いは、タグの中にセットするカスタムパラメータのみです。以下の【図表2】は、商品詳細ページで発火させるリマーケティングタグの設定例であり、カスタムパラメータとしては、ecomm_pagetype・ecomm_prodid・ecomm_totalvalueの3種類をセットします。【図表3】は、各ページ階層のリマーケティングタグで発火すべきカスタムパラメータの一覧です。
【図表2】Google動的リマーケティングを実施するECサイトの商品詳細ページで発火すべきリマケタグの例:
【図表3】ECサイトの各ページ階層のGoogle動的リマーケティングタグで発火すべきカスタムパラメータの例:
ページ階層 | ecomm_pagetype | ecomm_prodid | ecomm_totalvalue |
トップページ | 固定値「home」 | (不要) | (不要) |
カテゴリページ | 固定値「category」 | (不要) | (不要) |
検索結果ページ | 固定値「searchresults」 | (不要) | (不要) |
商品詳細ページ | 固定値「product」 | {{商品IDを返すGTM変数}}
※商品フィードのid列またはitem_group_id列にセットする商品IDを返します。 |
{{商品価格を返すGTM変数}} |
カートページ | 固定値「cart」 | {{カートに入っている商品IDの配列を返すGTM変数}}
※商品フィードのid列またはitem_group_id列にセットする商品IDを返します。 |
{{カートに入っている商品の合計金額を返すGTM変数}} |
購入完了ページ | 固定値「purchase」 | (不要) | {{購入された商品の合計金額を返すGTM変数}} |
その他のページ | 固定値「other」 | (不要) | (不要) |
ECサイトがGoogle動的リマーケティング(またはスマートショッピングキャンペーン)を実施するために発火すべきタグの全体像については、以上です。まずは、【図表2】と【図表3】をご覧いただきながら、Googleタグマネージャーで【図表1】の状態までの準備を進めます。ecomm_prodid・ecomm_totalvalueにセットする値({{商品IDを返すGTM変数}}など【図表3】の赤文字の5箇所)については、次のセクションでご案内いたしますので、ひとまず空欄にしておきます。
HTMLから取得した商品ID,金額をGTM変数に格納して上記空欄にセットする
前のセクションにおいて、動的リマーケティングタグ設定の大枠は完成しており、あとは残しておいた空欄5箇所を埋めるだけです(とはいえ、ここが動的リマーケティングタグ設定の本丸です)。次の3ステップで埋めることができます。
- ecomm_prodid・ecomm_totalvalueにセットしたい商品IDや金額を、各ページ階層のHTMLに出力する
- HTMLに出力した商品IDや金額を格納するためのGTM変数を作成する
- 作成したGTM変数を、リマーケティングタグのカスタムパラメータの空欄にセットする
ecomm_prodid・ecomm_totalvalueにセットしたい商品IDや金額を、各ページ階層のHTMLに出力する
各ページ階層(商品詳細ページ,カートページ,購入完了ページ)のHTMLに、下記のようなコードを出力します(畑岡大作さんが公開されているサンプルコードを参考させていただいております)。
商品詳細ページHTMLに出力するコード例:
<script>
window.dataLayer = window.dataLayer || [];
dataLayer.push({
'gtm_product_id': 'ABC123',
'gtm_product_value': 5500
});
</script>
- カラーやサイズのバリエーションのある商品を販売されているECサイトが、Google動的リマーケティングを実施するためには、カラー×サイズの1バリエーションを1行とする商品フィードを準備し、Googleマーチャントセンターへ入稿する必要があります。例えば、4色×3サイズの展開のある商品は、商品フィードにおいて12行で書きあらわされ、id列には12種類の異なるバリエーションIDが、item_group_id列には12行において共通の商品グループIDがセットされます。複数のカラー×サイズのバリエーションを、1枚の商品詳細ページに掲載されているケースにおいては、上記コードのgtm_product_idに「商品フィードのitem_group_id列にセットする商品グループID」と同じ値をセットします。
- カラーやサイズのバリエーションのない商品が掲載されている商品詳細ページにおいては、上記コードのgtm_product_idに「商品フィードのid列にセットする商品ID」と同じ値をセットします。
- 上記コードのgtm_product_valueには、商品詳細ページに掲載されている商品の価格をセットします。
カートページHTMLに出力するコード例:
<script>
window.dataLayer = window.dataLayer || [];
dataLayer.push({
'gtm_cart_ids': ['ABC123-red-S','ABC123-blue-M','ABC123-yellow-L'],
'gtm_cart_value': 16500
});
</script>
- 複数のカラー×サイズのバリエーションを1枚の商品詳細ページに掲載されているECサイトにおいても、カートに投入された商品のカラー×サイズのバリエーションは、特定されていることがほとんどです。したがって、上記コードのgtm_cart_idsには「商品フィードのid列にセットするバリエーションID」と同じ値をセットします。
- カラー×サイズのない商品がカートに投入されている場合には、上記コードのgtm_cart_idに「商品フィードのid列にセットする商品ID」と同じ値をセットします。
- 上記コードのgtm_cart_valueには、カートに投入されている商品の合計金額をセットします。
購入完了ページHTMLに出力するコード例:
<script>
window.dataLayer = window.dataLayer || [];
dataLayer.push({
'gtm_purchase_value': 16500
});
</script>
- 上記コードのgtm_purchase_valueには、購入された商品の合計金額をセットします。
HTMLに出力した商品IDや金額を格納するためのGTM変数を作成する
Googleタグマネージャーにおいて、下記キャプチャのようなGTM変数を作成すると、作成したGTM変数の中に、さきほどHTMLに出力した商品IDや金額を格納することができます。
上記キャプチャを参考に、次のような5個のGTM変数を作成します。作成したGTM変数は今後、Googleタグマネージャー内で、{{GTM変数名}}と書くことで(例えば{{product_id}}と書くことで)利用できるようになります。
GTM変数名の例 (上記キャプチャ左上の欄に入力) |
データレイヤーの変数名 (さきほどHTMLに出力したとおりの変数名を入力) |
product_id | gtm_product_id |
product_value | gtm_product_value |
cart_ids | gtm_cart_ids |
cart_value | gtm_cart_value |
purchase_value | gtm_purchase_value |
作成したGTM変数を、リマーケティングタグのカスタムパラメータの空欄にセットする
作成した5種類のGTM変数({{product_id}},{{product_value}},{{cart_ids}},{{cart_value}},{{purchase_value}})を、【図表2】で空欄にしておいたカスタムパラメータの値の欄(5箇所)に、それぞれセットします。Googleタグマネージャーによる、ECサイトのGoogle動的リマーケティングタグの設定作業は以上であり、プレビューモードで正常に発火していることを確認できたら公開します(発火確認の方法については後述)。
なお、本記事では、Webページに出力したデータレイヤー変数から商品IDや金額を取得する方法をご案内しましたが、Googleタグマネージャーで、Webページのどこから商品IDや金額を取得するかには他にも選択肢があり、いくつかを下表で比較しておきます(本記事に記載した方法は④です)。
商品IDや金額をWebページのどこから取得するか | Webページに商品IDや金額を出力する大変さ | GTMでWebページから商品IDや金額を抜き出す大変さ | 備考 |
①ユーザー向けに表示している商品IDや金額 | ゼロ | 少しjavascriptを書く力が必要であり、非エンジニアには難しい(タグ設置支援業者さん等に頼むと特別料金がかかるケースが多い) | サイト改修によりHTML構造やclass名などが変われば商品IDや金額を抜き出せなくなる場合がある |
②構造化データにセットしている商品IDや金額(参考:Googleさんが公開されている、schema.orgの規格に則った商品ページのマークアップ方法/a>) | 大(すでに出力済みであればゼロ) | 少しjavascriptを書く力が必要であり、非エンジニアには難しい(タグ設置支援業者さん等に頼むと特別料金がかかるケースが多い)。山田良太さんが公開されているサンプルコードが役立つ。 | 新鮮な在庫情報や価格情報をGoogleへ伝える手段として、商品フィード(必須)と構造化データを併用することがベター(参考:商品アイテムの自動更新について) |
③Googleアナリティクスの拡張eコマース用データレイヤー変数にセットしている商品IDや金額(参考:拡張eコマースデベロッパーガイド) | 大(すでに出力済みであればゼロ) | 少しjavascriptを書く力が必要であり、非エンジニアには難しい(タグ設置支援業者さん等に頼むと特別料金がかかるケースが多い) | – |
④データレイヤー変数にセットしている商品IDや金額 | 小(すでに出力済みであればゼロ) | 簡単 | タグ設置支援業者さん等が採用する標準的な方法 |
リマーケティングタグが正常に発火していることを確認する
リマーケティングタグ発火のトリガーとして設定したページビューが発生し、リマーケティングタグが正常に発火すると、ブラウザからgoogleads.g.doubleclick.net宛てのリクエストが発生し、カスタムパラメータ(ecomm_pagetype=xxxとecomm_prodid=xxxとecomm_totalvalue=xxx)は、同URLに含まれる形でGoogleへ送信されます(同じリクエストが2本発生することは正常な動作です)。
下記のポイントを確認できればOKです。
- 7種類のページ階層において、それぞれ想定通りのecomm_pagetype値(home,category,searchresults,product,cart,purchase,other)が送信される。
- 商品詳細ページにおいて、閲覧中のページに掲載されている商品の商品ID(ecomm_prodid=xxx)と価格(ecomm_totalvalue=xxx)が送信される。
- カートページにおいて、カートに入っている商品IDたち(ecomm_prodid=xxx,yyy,zzz)と、その合計金額(ecomm_totalvalue=xxx)が送信される。
- 購入完了ページにおいて、購入した商品の合計金額(ecomm_totalvalue=xxx)が送信される。
[藤本 2020年7月30日公開]