JavaScriptなしでGoogleAnalyticsデータを収集する

やること

JavaScript無効の環境では、analytics.jsやgtag.jsでデータ収集することはできません。JavaScriptが動作しないため、データを収集できません。そのため、別の方法でデータ収集する必要があります。

Measurement Protocolを利用して、データを収集します。Measurement Protocolは、analytics.jsの上位に位置するAPIです。GETやPOSTでのアクセスでデータを収集することができます。

<noscript><img src='...'>を使用して、JavaScript無効時に画像ファイルとしてGETでアクセスすることで、Analyticsのデータを収集します。

サンプルコード

<div style='display:none'>
  <noscript>
    <img src='https://www.google-analytics.com/collect?v=1&t=pageview&tid=UA-XXXX-Y&cid=1&dl=ページURL&dt=ページタイトル' alt=''/>
    <img src='https://www.google-analytics.com/collect?v=1&t=event&tid=UA-XXXX-Y&cid=1&ec=view&ea=js_disabled&el=ページURL&ev=0' alt=''/>
  </noscript>
</div>

<noscript>は、style属性なしの<span>に置換されるため、style属性は、<noscript>以外に指定する

ページビューを送信する

パラメータ 備考
v 1 バージョン(現状は1固定)
tid UA-XXXX-Y トラッキング ID
cid UUID クライアント ID
t pageview ヒットタイプ
dl ページURL ページURL
dt タイトル ページタイトル
https://www.google-analytics.com/collect?v=1&t=pageview&tid=UA-XXXX-Y&cid=1&dl=ページURL&dt=ページタイトル

JavaScript無効イベントを送信する

パラメータ 備考
v 1 バージョン(現状は1固定)
tid UA-XXXX-Y トラッキング ID
cid UUID クライアント ID
t event ヒットタイプ
ec view イベントカテゴリー
ea js_disabled イベントアクション
el ページURL イベントラベル
ev イベント値
https://www.google-analytics.com/collect?v=1&t=event&tid=UA-XXXX-Y&cid=1&ec=view&ea=js_disabled&el=ページURL&ev=0

補足

cidは、UUIDを指定する項目だが、1を指定してもデータは収集されるようです。UUIDを算出できない環境ならば、1や固定UUIDを指定することで必要最低限動作するようです。

ページURLに&が含まれる場合、正常にURLを収集できなため、URLのエンコードが必要となる。

参考

コメント: 0

コメントを書く