そもそものITPとは何なのか?

ITPの概要や詳細な説明については、既に様々な記事が公開されていますし、既にご存知の方も多いと思いますので、ここではそれらの記事を紹介するに留めます。

公式から発表されたAdwordsのコンバージョン計測に関する情報

10月13日ごろに、AdwordsにおけるITP対応の詳細が発表されました。具体的には、下記のようなヘルプページが更新されました。

また、ほぼ同時にAdwordsリニューアル版ページでも新しいコンバージョンタグが取得できるようになりました。

新しいコンバージョン計測における内部の処理フロー

今までに発表された各種情報をもとに、

  • 新しく準備されたコンバージョンリンカータグの中身(ソースコード)
  • Googleアナリティクスタグの中身(ソースコード)
  • 各タグを実行したときのCookieの処理
  • 各タグを実行したときのネットワークリクエストの内容

などを解析しました。コンバージョンタグをリクエストしたあとのAdwords側のサーバー処理など不明な部分もありますが、新しいコンバージョン計測における内部の処理フローとしては、

  1. 広告からのリンク先URLには、自動タグ(gclid)がクエリパラメータとして渡される。このパラメーターは、1回の広告クリックごとに固有の値が割り振られている。このパラメーターは、Adwordsの管理画面で自動タグを有効にしていれば自動で付与される。
  2. 広告のランディングページでは、gclidの値を1st party cookieに格納する
    • Googleアナリティクスのタグは、「gacプロパティID」というCookie名を使う
    • コンバージョンリンカーのタグは、デフォルトでは「_gac_aw」というCookie名を使う
  3. コンバージョンタグが実行されるときに、「_gac_aw」や「gac〜〜」のCookie値をGoogleに送信する。

となっているようです。

どんなトラップがあるのか?

まず1つ目に、「ITPがあるから3rd party cookieでは計測漏れが起きるから1st party cookieを使おう」という流れになっていますが、1st party cookieの場合は、サイトドメインに紐づくCookieなので、Cookieの機能だけではドメインを跨いで同じ情報を共有することができません。1st party cookieにもデメリットがあることを忘れてしまってはいけません。このあたりについては、自著である「Webマーケターのためのテクノロジー入門」(Kindle本)でも1st party cookieと3rd party cookieの違いとして解説している内容になります。つまり、ドメインを跨いでコンバージョンが発生するような構造になっているサイトでは、注意が必要です。

2つ目は、gclidを格納するCookie名がデフォルトでは固定化されているという点です。Cookie名が固定化されているので、複数のAdwordsアカウントから流入があった場合、アカウントを越えて最後にクリックされた広告のgclidによって上書きされてしまいます。上書きによって消されてしまったAdwordsアカウント側には、コンバージョンがカウントできるかどうか現時点では不明です。

チェックリスト&手順フロー

今回の変更で影響を受けるサイトはごく一部だと思います。つまり

  • 全ページでGoogleアナリティクスを導入している
  • GoogleアナリティクスとAdwordsをリンクし、自動タグを有効にしている
  • 対象となるサイトが1ドメインで完結している
  • 対象となるドメインに対して広告を出稿しているAdwordsアカウントが1つだけ
  • 非AMPのページのみで構成されたサイトであること

を全て満たすケースでは、ITPの影響は無関係と思っていいと思います。逆に、これらの条件を1つでも満たしていない場合は、何らかの対策を講じる必要があります。下記で、それぞれの状況に応じた対策をまとめます。

Googleアナリティクスを導入していないページがある

Googleアナリティクスが導入されていないページでは、gclidを1st party cookieに格納することができません。そのため、最低限AdwordsのランディングページとなりうるページにはGoogleアナリティクスタグを設置しましょう。事情によりGoogleアナリティクスタグを設置できない場合は、Adwordsの新しいリンカータグを導入することでも解決します。

また、「このページにランディングさせる広告は存在しないから、設置しなくても良い」ということはありません。もしかしたら、サイトリンク表示オプションが自動付与されて、そのページにランディングさせるケースもありますし、動的検索広告を利用する可能性があれば、どのページもランディングページになりえます。

全ページへのGoogleアナリティクスタグ(またはAdwordsリンカータグ)の設置を徹底しましょう。

1つ誤解している人がいそうなポイントを追記します。Googleアナリティクスのトラッキングコードが今までのanalytics.jsから、gtag.jsに変更になりました。が、gclidを1st party cookieに格納するためにgtag.jsが必須というわけではなく、その処理自体はanalytics.jsの中で行われているので、analytics.jsが設置されている場合は、急いでgtag.jsにアップグレードする必要はありません(ただし、ga.jsやdc.jsなどを使っている場合は、アップグレードするべきです)。

Adwordsの自動タグが有効化されていない

Adwordsの自動タグが有効化されていないと、今回のITP対応の肝となる「gclid」がパラメーターとして付与されません。自動タグの有効化には、必ずしもGoogleアナリティクスと連携する必要はないようです(GAと連携せず、自動タグのみ有効にすることも可能)。また、3rdパーティーの計測ツールを使っているケースなどで、リダイレクトが発生する場合は、そのリダイレクト後のページURLにもgclidパラメーターが引き継がれていることを確認してください(実際に、広告をクリックしてテストするのが確実です)。

ランディングページとコンバージョンページのドメインが異なる

既に、Googleアナリティクスのクロスドメイントラッキングは、gclidパラメーターにも対応しているようです。つまり、Googleアナリティクスのクロスドメイントラッキングが有効に設定されている場合は、gclidの値もクロスドメイン先のCookieに引き継がれるようになります。なので、この場合はGoogleアナリティクスタグの設置が必須で、さらにクロスドメイントラッキングも正常に動作している必要があります(逆に言えば、Adwordsリンカータグの設置は無意味となります)。

クロスドメイントラッキングが必要になるので、「コンバージョンページのサイトとクロスドメイントラッキングが実装できない」ケースでは、今回の仕様変更でコンバージョン計測できなくなるはずです。

そのドメインに対して複数のAdwordsアカウントから広告が出稿されている

例えば、Adwordsアカウント1とAdwordsアカウント2から今まで広告を出稿していたとします。このようなアカウント構成のとき、ユーザーがAdwordsアカウント1の広告をクリックしたあと、Adwordsアカウント2の広告をクリックし、最後にコンバージョンしたとします。今までのコンバージョントラッキングでは、Adwordsアカウント1とAdwordsアカウント2の両方でコンバージョンがカウントされていたはずです。

しかし、新仕様のコンバージョンタグでは、デフォルトで保持しているgclidの値は1つだけです。上のような挙動をしたユーザーの1st party cookieには、Adwordsアカウント2の広告をクリックしたときのgclidしか残されておらず、Adwordsアカウント1の広告をクリックしたときのgclidは上書きされてしまっています。結果として、コンバージョンは、Adwordsアカウント2に対してしかカウントされない、という状況に陥る可能性が考えられます。

このような状況をどのように回避すべきかは、現在検討中となります(Cookie名を変更したら回避できる、と思っていましたが「回避することはできない」、という結論になりました)。

AMPページがサイト内に存在する場合

少なくとも、現時点のAMPのGithubソースコードを確認する限りでは、AdwordsのITPに関する対応は一切されていないようです。そのため、gclid付きでAMPページにランディングしたとしても、自ドメインであるかGoogle CDNであるかに関わらず、1st party cookieへの格納は行われません。これは、コンバージョンリンカータグが未対応であるだけでなく、Googleアナリティクスのトラッキングコードもgclidを1st party cookieに格納する処理が実装されていないためです。

そのため、AMPページにランディングさせるような広告は、現時点では停止しておき、非AMPにランディングさせるようにしたほうがいいでしょう。

まとめ

今回のコンバージョン計測の仕様変更により、

  • 複数ドメインにまたがるサイトの広告を運用しており、クロスドメイントラッキングできていないサイト
  • 同一ドメインに対して複数のAdwordsアカウントから広告を出稿しているサイト

においては、今まで通りのコンバージョン計測ができないのではないか?という結論に達しました。

また、今までのコンバージョンタグは、その仕組みを詳しく知らなくてもある程度問題なく動作してきました。しかしながら、新仕様のコンバージョンタグは、その仕組みを正しく知った上で、サイト構造やGoogleアナリティクスの設置状況、Adwordsアカウントの運用状況などから総合的に判断してタグ設置することが求められるようになります。これは、広告運用者も最低限の技術(テクノロジー)を身に付けていかなければいけない前触れかもしれません。