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つのバージョンがあります。
- Google Analytics4(以下
GA4
と記載)- 本記事で実現する連携にはMeasurement Protocol(Google アナリティクス 4)を利用します
- UA(ユニバーサルアナリティクス)(以下
UA
と記載)- 本記事で実現する連携にはMeasurement Protocol を利用します
ご利用する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を取得する
- 接客サービスを新規に作成し、テンプレートから
[GA] Client ID取得スクリプト
を選択し、接客サービスを作成して配信してください
注意事項
- 配信トリガーやセグメントは、必要に応じて設定してください
- 基本的に、当スクリプトはGAのタグが設置されているすべてのページを対象に配信してください
- Karte for Appをご利用中のお客様は、アプリに当スクリプトが配信されないようにご注意ください
- 正しく配信されたか確認してください
GAタグが埋め込まれているページに正しく配信されると、_google_analytics_ids
イベントが発生し、clientId
フィールドに該当のユーザーのclientIdがセットされます。
サイトを閲覧している自分自身のデータを確認する を参考に、配信を確認してください。
GAのカスタムイベントを送信する
GA4の場合
- Webhook用接客サービスの作成手順に従い、Webhook接客サービスを作成します
ユーザー情報変数の作成
次のユーザー情報変数を作成します。
変数名 | 設定 |
---|---|
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にイベントが連携されていることをご確認ください。
UAの場合
- Webhook用接客サービスの作成手順に従い、Webhook接客サービスを作成します
ユーザー情報変数の作成
次のユーザー情報変数を作成します。
変数名 | 設定 |
---|---|
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で新たにカスタムディメンションを作成
カスタム ディメンションとカスタム指標の設定と編集 などを参考に設定してください。
今回は「campaign
」というカスタムディメンションを作成しました。
作成が完了したら、「dimension(数字)
」となっている箇所の数字をメモしておきます。
2. Webhook用接客サービスを新規作成
- Webhook用接客サービスの作成手順に従い、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に連携することができます。
- 接客サービスを表示 送信日時が 存在する
- 接客サービスを表示 app_nameが 「craft」 と異なる ※ 必須条件です
「接客サービスを表示 app_nameが 「craft」 と異なる」は必ず指定してください
「接客サービスを表示(`message_open`)」イベントは、Webhookの配信時にも実行されます。
そのため設定を行わないと、接客サービスが無限ループに陥り、サーバーがダウンする恐れがあります
また上記以外の接客サービスでも、「接客サービスを表示」イベントを元にした接客が存在すると
無限ループに陥ってしまう可能性がありますのでご注意ください。
4. GoogleAnalyticsでカスタムディメンションが渡っているか確認
確認方法については、必要に応じてGoogleで検索してください。
うまくカスタムディメンションの値が渡っていると、以下のような形で、GoogleAnalyticsの管理画面で分析が可能です。
以上で設定は完了です。お疲れ様でした!
UAのカスタムディメンションに関する注意点
- 「GA上でどのように分析すべきか」についてはサポートの対象外になります
予めご了承ください。 - GAの計測仕様はKARTEの計測の仕様ほど柔軟ではなく、全ての接客サービスの配信状況をGoogle Analyticsに連携することは実質不可能です
具体的には、接客の配信状況はカスタムディメンションとしてGA側に渡す形にすると、分析が容易ですが、「カスタムディメンションを設定できる数」は限りがあり、これに依存する形になります。- 特定の接客サービスの配信状況をGoogle Analyticsに連携したい場合にご利用ください