AMP化したページのリンククリックをGoogle Tag Manager(GTM)でトラッキングしようとしても、通常はクリックされたリンクテキストは計測できません。
Web用のコンテナとは違い、AMPコンテナには組み込み変数{{ClickText}}が存在しないためです。
とはいえリンクテキストはA/Bテストに必須なデータ。取れないと困ります。
なので、取れるようにしてみました。環境はAMP化したWordPress、参考にしたのは下記フォーラムの情報です。
参考 解決済み: GTMで設定してAMPでクリックイベント計測したい – Google 広告主コミュニティ
※GTMの操作に慣れている前提でお話します
AMPページでクリックされたリンクテキストを計測する設定手順
1. GTMのAMPコンテナにAMP変数を追加する
「変数>ユーザ定義変数」から、AMP変数を追加します。
変数名はなんでもいいですが、ここでは「clicktext」とします。
これで、{{clicktext}}という変数がGTM上で使えるようになりました。
2. GTMのタグに{{clicktext}}を仕込む
トラッキングタイプが「イベント」であるタグで、{{clicktext}}を使います。
リンクテキストはラベルで使うのが良いかと思います。
あとはタグを配信すれば、GTM側の設定は完了です。
3. 記事内のaタグに属性を追加する
次に、WordPress側に仕込みを入れます。
GTM側で設定したAMP変数「clicktext」にリンクテキストの値を格納するには、aタグに「data-vars-clicktext=”リンクテキスト”」という属性値を追加します。
そこで、下記コードを子テーマのfunction.phpに追記します。
if (!function_exists('nae_add_clicktext_data_vars')): function nae_add_clicktext_data_vars($the_content) { $atag = '/(.+?)<\/a>/'; if (preg_match_all($atag, $the_content, $as)) { for ($i = 0; $i < count($as[0]); ++$i) { $the_content = str_replace($as[0][$i], '<a '.$as[1][$i]." data-vars-clicktext='".strip_tags($as[2][$i])."'>".$as[2][$i].'', $the_content); } } return $the_content; } endif; if (!function_exists('nae_wp_loaded_add_clicktext_data_vars')): function nae_wp_loaded_add_clicktext_data_vars() { ob_start('nae_add_clicktext_data_vars'); } endif; add_action('wp_loaded', 'nae_wp_loaded_add_clicktext_data_vars', 1);
手順は以上です。AMPページでリンクをクリックしてみて、Google Analyticsにリンクテキストの入ったイベントが飛んでいることを確認してください。
応用のためのTips
clicktextではない変数名を使う
上の手順で赤字にしたclicktextを、別の変数名に読み替えればOKです。
リンクURLも一緒に計測する
- URL用の別変数を準備する(clickUrlなど)
- function.phpに追記するコードを修正する
- 正規表現でhref属性を取れるようにする
- str_replace()でdata-vars-clickUrl属性も追加させる
(余力があったらコード書きます)
AMPページの場合のみaタグに属性値を追加する
function.phpに追記するコードの先頭で、AMPページの場合のみ処理を行うよう条件分岐させます。
AMP対応しているWordPressテーマの場合、AMPページか判断する便利関数が定義されていることが多いので、探してみてください。
たとえばWordPressテーマCocoonでは「is_amp()」がそれです。
まとめ:AMPでもA/Bテストをあきらめない
記事に仕込んだリンクの踏まれ具合を定量的に計測するのは、ブログにおけるPDCAの基本です。
特に収益をKPIとしている場合、リンクテキストの書きっぷりなどのA/Bテストを通じてCTRを高める行いは必須でしょう。
一方、検索順位をごぼう抜きできる可能性を秘める(と一部で言われている)AMP対応のせいで、リンクテキストのA/Bテストができなくなるのは困りもの。
しっかり両面から対策して、がっつりブログ改善していきましょう。
以上、「AMPページでクリックされたリンクテキストをGTMでトラッキングする方法」でした。
コメント