【随時更新】コスパの高い注目ガジェットをAmazonタイムセールからピックアップ!詳しくはこちら
naenote.netへようこそ

naenote.netは、「捗る」がテーマのガジェット×テック系情報ブログです

シンプル・ミニマル・スピーディーがモットーの管理人が
「これは!」と感じた情報を厳選してお届けします

AMPページでクリックされたリンクテキストをGTMでトラッキングする手順

AMPとGTMでClickTextを計測する

AMP化したページのリンククリックをGoogle Tag Manager(GTM)でトラッキングしようとしても、通常はクリックされたリンクテキストは計測できません

Web用のコンテナとは違い、AMPコンテナには組み込み変数{{ClickText}}が存在しないためです。

とはいえリンクテキストはA/Bテストに必須なデータ。取れないと困ります。

なので、取れるようにしてみました。環境はAMP化したWordPress、参考にしたのは下記フォーラムの情報です。

参考 解決済み: GTMで設定してAMPでクリックイベント計測したい – Google 広告主コミュニティ

※GTMの操作に慣れている前提でお話します

AMPページでクリックされたリンクテキストを計測する設定手順

1. GTMのAMPコンテナにAMP変数を追加する

GTMのAMPコンテナに「clicktext」というAMP変数を追加する

「変数>ユーザ定義変数」から、AMP変数を追加します。

変数名はなんでもいいですが、ここでは「clicktext」とします。

これで、{{clicktext}}という変数がGTM上で使えるようになりました。

2. GTMのタグに{{clicktext}}を仕込む

AMPコンテナのイベントラベルでclicktextを使用

トラッキングタイプが「イベント」であるタグで、{{clicktext}}を使います。

リンクテキストはラベルで使うのが良いかと思います。

あとはタグを配信すれば、GTM側の設定は完了です。

3. 記事内のaタグに属性を追加する

次に、WordPress側に仕込みを入れます。

GTM側で設定したAMP変数「clicktext」にリンクテキストの値を格納するには、aタグに「data-vars-clicktext=”リンクテキスト”」という属性値を追加します。

そこで、下記コードを子テーマのfunction.phpに追記します。

Cocoon標準のAMP化を使っている場合、Twittterのツイートを含む投稿が正常に表示されなくなるバグを確認しています。現在、原因調査中です。当面のあいだ、Cocoonユーザの方はこのコードを使わないようお願いします。
function add_clicktext_data_vars($the_content) {
  $atag = '/<a (.+?)>(.+?)<\/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;
}
add_filter('the_content','add_clicktext_data_vars',12);

手順は以上です。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でトラッキングする方法」でした。

参考 超初心者向け!Googleタグマネージャーによるクリックトラッキング入門

コメント

コメント以外のご意見・ご要望、管理人へのご連絡などは、お問い合わせからどうぞ