Google Tag Manager × WordPress ウィジェットごとのクリック数を計測する

やりたいこと

WordPressのウィジェットがそれぞれ何回クリックされたのかを計測したい。

以前の記事の内容と重複する部分が大半です。

以下の記事の内容を実施済みの場合はトリガー設定以降を実施してください。

準備

・Wordpress側で各ウィジェットにユニークなCSSセレクタを設定する(classやid等)。

・データソースとして使用するためGoogle Analyticsを連携しておく。

・結果の表の表示のためLooker Studioを連携しておく。

WordPressでウィジェットにユニークなCSSセレクタを設定する

Google Tag Managerのトリガーの条件とするため、ウィジェットにユニークなCSSセレクタを設定しましょう。

正確に測定するためには最低限、ページごとユニークな値にする必要があります。

ある程度の命名規則を決めておくことをお勧めします。

本サイトの場合はclassを使用し、以下のように設定しています。

(デバイス)-(表示ページ)-(表示場所)-(種別)(連番)

ウィジェットごとのclass設定はプラグインを使用するのが簡単です。

本サイトではWidget Optionsを使用しています。

プラグインを導入すると以下のようにウィジェットごとにclassやidを設定することができます。

Google Tag Managerで変数を設定する

設定したトリガーの条件を満たしたとき、設定したCSSセレクタ or IDをGoogle Analyticsに送るために変数を設定します。

まずは表示された要素までのセレクタをオブジェクトから単純文字列に変換する変数を作成します。

①「変数のタイプ > カスタム JavaScript」を選択。

②カスタム JavaScriptに以下を記載。

function() {
  var originalEl = {{Click Element}};
  var el = originalEl;
  if (el instanceof Node) {
    var elList = [];
    do {
      if (el instanceof Element) {
        var classString = el.classList ? [].slice.call(el.classList).join('.') : '';
        var elementName = (el.tagName ? el.tagName.toLowerCase() : '') + (classString ? '.' + classString : '') + (el.id ? '#' + el.id : '');
        if (elementName) elList.unshift(elementName);
      }
      el = el.parentNode
    } while (el != null);
    var objString = originalEl.toString().match(/\[object (\w+)\]/);
    var elementType = objString ? objString[1] : originalEl.toString();
    var cssString = elList.join(' > ');
    return cssString ? elementType + ': ' + cssString : elementType;
  }
}

作成した変数をもとにCSSセレクタ or IDのみを切り出す変数を作成します。

①「変数のタイプ > 正規表現の表」を選択。

②「入力変数 > (先ほど作成した変数)」

③「正規表現の表 > パターン > (トリガーに設定したユニークなCSSセレクタ or ID)」

 最終的には複数のトリガーを設定すると思いますので、設定したものは全て記載しましょう。

Google Tag Managerで要素ごとにトリガーを設定する

以下のようなトリガーを作成します。

「トリガーのタイプ > クリック – リンクのみ」

「このトリガーの発生場所 > 一部のリンククリック」

「イベント発生時にこれらすべての条件がtrueの場合にこのトリガーを配信します」

 作成した切り出し済みのCSSセレクタ or IDを返す変数を条件にし、ウィジェットユニークなCSSセレクタ or IDを包括する正規表現を条件に設定します。

ユニークなCSSセレクタ or IDが一つの正規表現でカバーできない場合は複数のトリガーを作成することでカバーしましょう。

Google Tag Managerで計測用のタグを設定する

①「タグの種類 > Google アナリティクス > Google アナリティクス:GA4 イベント」

 「測定ID」Google Analyticsの測定IDを記載します。

 ※Google Analyticsの「管理 > データストリーム > (ストリーム選択)」で確認できます。

②「イベント名」

 任意の値を入力してください。Google Analyticsのカスタム定義と合わせられるように英数字+アンダースコアでつけるとよいです。

③「イベントパラメータ」

 以下の二つを送るようにしてください。

 a. イベントパラメータとして切り出したCSSセレクタ or IDを送るパラメータ

  値は先ほど設定した切り出し変数を選択してください。

 b. 送られたイベントの回数を数えるパラメータ

  定数で「1」を入力してください。

④「配信トリガー」

 ウィジェットごとのクリックをカバーできるトリガーを全て登録してください。

ここまで出来たら念のためプレビューでタグの発火を確認しておきましょう。

確認ができたら右上にある公開を押して設定した内容をリリースしましょう。

Google Analyticsでカスタムディメンション、カスタム指標を設定する

「管理 > カスタム定義 > カスタムディメンション > カスタムディメンションを作成」から新規のカスタムディメンションを作成します。

このカスタムディメンションの項目で送られてきた切り出し済みのCSSセレクタ or IDを登録します。

「ディメンション名」

 任意の値を入力します。後ほどLooker Studioで分析する際に使用しますのでわかりやすい値にしましょう。

「イベントパラメータ」

 先ほどGoogle Tag Managerのタグ設定で設定したイベントパラメータのうち、切り出し済みのCSSセレクタ or IDを値に選んだ方を記載します。

「管理 > カスタム定義 > カスタム指標 > カスタム指標を作成」から新規のカスタム指標を作成します。

このカスタム指標の項目で送られてきたイベント回数を登録します。

「指標名」

 任意の値を入力します。後ほどLooker Studioで分析する際に使用しますのでわかりやすい値にしましょう。

「イベントパラメータ」

 先ほどGoogle Tag Managerのタグ設定で設定したイベントパラメータのうち、イベント回数を数える方を記載します。

Looker Studioでデータソースを更新する

「リソース > 追加済みのデータソースの管理 > (Google Analyticsデータソースの)アクション > 編集」を選択します。

左下の「フィールドを更新」を選択してカスタムディメンションおよびカスタム指標を取り込み、完了を選択します。

Looker Studioでウィジェットごとのクリック回数を表示する

「グラフを追加 > 表」でグラフを挿入し、ディメンションに先ほど作成したカスタムディメンションを、指標に作成したカスタム指標を選択します。

ウィジェットごとのクリック回数の表が作成できました。

これでどのウィジェットが何回クリックされているのかを確認することができます。

適宜ページ種別やデバイスでフィルターをかけて分析に活かしましょう。

参考

https://www.simoahava.com/analytics/create-css-path-variable-for-click-element