KARTEのイベント情報をGoogle Analytics(以下GAと記載)に対して Measurement Protocol を利用して連携することができます。

2023年10月以前提供開始のGA連携については、「Webhook」タイプの接客アクションを利用した方式を採用していました。2023年10月以降、「Webhook」タイプの接客アクションは新規提供を停止しています。

「Webhook」タイプの接客アクションを利用した古いGA連携のドキュメントについては、下記URLをご覧ください。
https://support.karte.io/post/JTr9WFW8KzOcz8o5DT7Ux

GAとの連携方式について

GAには大きく2つのバージョンがあります。

ご利用するGAのバージョンによって、連携方式に違いがあります。

  • GA4では「GAのカスタムディメンション」への連携はできません。「GAのカスタムイベント」への連携のみ可能です
  • UAでは「GAのカスタムイベント」及び「GAのカスタムディメンション」への連携が可能です

[共通] 事前準備

GAのバージョンに依らず、下記の事前準備が必要になります。

  • 「KARTE Craftを使った外部サービスへのWebhook連携」の設定
  • CookieからGAのClient Idを取得する

「KARTE Craftを使った外部サービスへのWebhook連携」の設定

下記記事の手順に従って、「KARTE Craftを使った外部サービスへのWebhook連携」を利用可能な状態に設定します。

CookieからGAのClient Idを取得する

  1. 接客サービスを新規に作成し、テンプレートから [GA] Client ID取得スクリプト を選択し、接客サービスを作成して配信してください

null

注意事項

  • 配信トリガーやセグメントは、必要に応じて設定してください
  • 基本的に、当スクリプトはGAのタグが設置されているすべてのページを対象に配信してください
  • Karte for Appをご利用中のお客様は、アプリに当スクリプトが配信されないようにご注意ください
  1. 正しく配信されたか確認してください
    GAタグが埋め込まれているページに正しく配信されると、_google_analytics_idsイベントが発生し、clientIdフィールドに該当のユーザーのclientIdがセットされます。
    サイトを閲覧している自分自身のデータを確認する を参考に、配信を確認してください。スクリーンショット 2021-08-19 21.59.55

GAのカスタムイベントを送信する

GA4の場合

ユーザー情報変数の作成

次のユーザー情報変数を作成します。

変数名 設定
clientId すべての期間 _google_analytics_ids clientId の 最新の値

※その他、カスタムイベントに含めたいユーザー情報を参照するためのユーザー情報変数も合わせて作成してください。

dataの設定方法

dataを次のように設定します

        項目         説明
url https://www.google-analytics.com/mp/collect?api_secret={{api_secret}}&measurement_id={{measurement_id}}と指定します。ただし、{{api_secret}}の部分はGoogle アナリティクス UI で生成される API SECRETで、{{measurement_id}}の部分はストリームに関連付けられている測定 IDで置き換えてください。
hookData GAに連携するデータを指定します。随時カスタマイズしてください。
method "POST"を指定します
headers {"Content-Type": "application/json"}を指定します
campaignId "#{campaign_id}"を指定します

※ 設定項目についてはGA4のドキュメントも合わせてご覧ください

dataの設定例

  • {{event_name}}には連携したいイベント名を指定します
  • {{param_name}}には連携したいパラメータ名を指定します
  • {{param_value}}には連携したいパラメータの値を指定します
{
  "url": "https://www.google-analytics.com/mp/collect?api_secret={{api_secret}}&measurement_id={{measurement_id}}",
  "hookData": {
    "client_id": "#{clientId}",
    "non_personalized_ads": false,
    "events": [
      {
        "name": "{{event_name}}",
        "params": {
          "{{param_name}}": "{{param_value}}"
        }
      }
    ]
  },
  "method": "POST",
  "headers": {
    "Content-Type": "application/json"
  },
  "campaignId": "#{campaign_id}"
}

※ 設定項目についてはGA4のドキュメントも合わせてご覧ください

検証
GA4にイベントが連携されていることをご確認ください。

null

UAの場合

ユーザー情報変数の作成

次のユーザー情報変数を作成します。

変数名 設定
clientId すべての期間 _google_analytics_ids clientId の 最新の値

※その他、カスタムイベントに含めたいユーザー情報を参照するためのユーザー情報変数も合わせて作成してください。

dataの設定方法

dataを次のように設定します

        項目         説明
url https://www.google-analytics.com/collect?v=1&t=event&tid={{tid}}&cid=#{clientId}&ec={{ec}}&ea={{ea}}&ev={{ev}}&ds={{ds}}&el={{el}}&ni=1のように指定します。ただし、{{xxx}}の部分は実際に送信したいGAイベントの内容に応じて値を設定してください。
hookData {}を指定します
method "GET"を指定します
headers {}を指定します
campaignId "#{campaign_id}"を指定します

※ 設定項目についてはUAのドキュメントも合わせてご覧ください

dataの設定例

{
  "url": "https://www.google-analytics.com/collect?v=1&t=event&tid=UA-xxxxxxxx-x&cid=#{clientId}&ec=xxx&ea=xxx&ev=xxx&ds=xxx&el=xxx&ni=1",
  "hookData": {},
  "method": "GET",
  "headers": {},
  "campaignId": "#{campaign_id}"
}

UAのカスタムディメンションを送信する

設定の例として、「接客サービスの配信状況」をUAのカスタムディメンションに連携する方法をご紹介します。

1. UAで新たにカスタムディメンションを作成
カスタム ディメンションとカスタム指標の設定と編集 などを参考に設定してください。

スクリーンショット 2019-09-27 13.39.44

今回は「campaign」というカスタムディメンションを作成しました。
作成が完了したら、「dimension(数字)」となっている箇所の数字をメモしておきます。

2. Webhook用接客サービスを新規作成

ユーザー情報変数の作成

次のユーザー情報変数を作成します。

変数名 設定
clientId すべての期間 _google_analytics_ids clientId の 最新の値

dataの設定方法

dataを次のように設定します

        項目         説明
url https://www.google-analytics.com/collect?v=1&t=event&tid={{tid}}&cid=#{clientId}&ni=1&cd{{index}}=#{campaign_id}_#{shorten_id}のように指定します。ただし、{{tid}}はUAのトラッキングIDで、{{index}}にはステップ0で取得したdimention(数字)のメモした数字で置き換えてください。
hookData {}を指定します
method "GET"を指定します
headers {}を指定します
campaignId "#{campaign_id}"を指定します

dataの設定例

{
  "url": "https://www.google-analytics.com/collect?v=1&t=event&tid=UA-xxxxxxxx-x&cid=#{clientId}&ni=1&cd1=#{campaign_id}_#{shorten_id}",
  "hookData": {},
  "method": "GET",
  "headers": {},
  "campaignId": "#{campaign_id}"
}

本接客サービスでは作成したカスタムディメンションに対して、以下のような形で接客サービスのキャンペーンIDとアクションIDをセットします

  • カスタムディメンションに渡る値の例
    campaign_id:5a66f89c4db5d108a7e3dce6、shorten_id:HvUだった場合、カスタムディメンションに渡る値は5a66f89c4db5d108a7e3dce6_HvUになります。

3. 配信トリガーを設定
以下のようにトリガーを設定し、特定の接客サービスの配信イベントをGoogleAnalyticsに連携することができます。

  1. 接客サービスを表示 送信日時が 存在する
  2. 接客サービスを表示 app_nameが 「craft」 と異なる ※ 必須条件です
「接客サービスを表示 app_nameが 「craft」 と異なる」は必ず指定してください

「接客サービスを表示(`message_open`)」イベントは、Webhookの配信時にも実行されます。
そのため設定を行わないと、接客サービスが無限ループに陥り、サーバーがダウンする恐れがあります

また上記以外の接客サービスでも、「接客サービスを表示」イベントを元にした接客が存在すると
無限ループに陥ってしまう可能性がありますのでご注意ください。

4. GoogleAnalyticsでカスタムディメンションが渡っているか確認
確認方法については、必要に応じてGoogleで検索してください。
うまくカスタムディメンションの値が渡っていると、以下のような形で、GoogleAnalyticsの管理画面で分析が可能です。

null

以上で設定は完了です。お疲れ様でした!

UAのカスタムディメンションに関する注意点

  • 「GA上でどのように分析すべきか」についてはサポートの対象外になります
    予めご了承ください。
  • GAの計測仕様はKARTEの計測の仕様ほど柔軟ではなく、全ての接客サービスの配信状況をGoogle Analyticsに連携することは実質不可能です
    具体的には、接客の配信状況はカスタムディメンションとしてGA側に渡す形にすると、分析が容易ですが、「カスタムディメンションを設定できる数」は限りがあり、これに依存する形になります。
    • 特定の接客サービスの配信状況をGoogle Analyticsに連携したい場合にご利用ください