更新日: 2025年8月4日
この記事では、クライアントIDを変数として取得する方法について説明します。
これまでに、ファーストパーティCookie(_ga)、カスタムJavaScript、window.gaGlobal.vidなど、様々な方法をご覧になったことがあるかもしれません。これらの方法はクライアントIDの取得に失敗し、クライアントIDが「未設定」と表示されることが多いため、推奨されません。
また、UAはcustomTaskメソッドを使用してクライアントIDを取得しますが、GA4はこのメソッドをサポートしていないことをご存知かもしれません。
GA4は現在、主に以下のメソッドを使用しています。
- GTAを使用してGA4トラッキングコードを直接デプロイする場合は、GTA APIを使用してクライアントIDを取得する必要があります。
- GTM経由でGA4をデプロイする場合は、readAnalyticsStorage APIを使用してクライアントIDを取得する必要があります。
gtag()
GA4 トラッキング コードを直接導入する場合、つまり gtag を使用する場合、Google では、最も正確な方法である gtag API を使用してクライアント ID を取得することを推奨しています。
gtag('get', 'YOUR_MEASUREMENT_ID', 'client_id', (client_id) => {
// do something with client_id
})
しかし、この方法はgtag.jsを読み込む必要があるため、GTMでは直接使用できません。
readAnalyticsStorage API
これはGA4に最近追加されたAPIで、クライアントIDを正確に取得できます。
カスタム変数テンプレートを通して使用されます。カスタム変数テンプレートを作成し、その中でreadAnalyticsStorage APIを使用してクライアントID/セッションIDを取得する必要があります。https://github.com/luratic/ga4_get_client_id_and_session_infoのようなコードが共有されています。ダウンロードして、「テンプレート」——「変数テンプレート」からインポートしてください。
次に、GA4 で、「変数」——「新規 」 ——「設定を開始するには変数タイプを選択してください…」——「GA4 – Get Client Id & Session Info (Safe API)」をクリックし、「Client ID」という名前を付けて、次のように設定します。