> ## Documentation Index
> Fetch the complete documentation index at: https://docs.timothe.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Google Tag Manager 連携

> Turnint AI のセッションイベントを Google Tag Manager (GTM) の dataLayer に送信する方法

セッションイベントを [GTM](https://marketingplatform.google.com/intl/ja/about/tag-manager/) の `dataLayer` にプッシュします。GTM のトリガーやタグを使って、任意の配信先に転送できます。

## 検出条件

`window.dataLayer` が配列として存在し、かつ `window.gtag` が未定義の場合に検出されます。

<Info>
  GA4 の `gtag` スニペットは内部的に `dataLayer` を使用します。`gtag` が検出された場合は GA4 として扱い、`dataLayer` への直接プッシュは行いません。これにより二重カウントを防止しています。
</Info>

## 送信方法

```javascript theme={null}
dataLayer.push({
  event: "turnint_started",
  type: "started"
});
```

## ヘッドスクリプト設定

ポータルの **ヘッドスクリプト** に以下を貼り付けてください。`GTM-XXXXXXX` はご自身のコンテナ ID に置き換えてください。

```html theme={null}
<script>
  (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
  new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
  j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
  'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
  })(window,document,'script','dataLayer','GTM-XXXXXXX');
</script>
```

## クロスドメイン計測

自社サイト（例: `example.com`）とポータルのドメイン（例: `subdomain.turnint.site`）間でユーザーセッションを一貫して計測するには、クロスドメインの設定が必要です。設定しない場合、ポータルへの遷移が新規セッションとして扱われます。

### GA4 タグを使用している場合

1. GTM で **GA4 設定タグ**を開く
2. **タグの設定** > **設定フィールド** に以下を追加:
   * フィールド名: `linker`
   * 値: `{"domains": ["example.com", "subdomain.turnint.site"]}`

または、GA4 の管理画面からも設定できます:

1. GA4 の **管理** > **データストリーム** でウェブストリームを選択
2. **タグ設定を行う** > **ドメインの設定** を開く
3. ポータルのドメインを追加

<Warning>
  自社サイトとポータルで**同じ GA4 測定 ID** を使用してください。
</Warning>

## カスタムイベント一覧

Turnint AI が `dataLayer` にプッシュするイベントは以下のとおりです。

| イベント名                     | 説明                          |
| ------------------------- | --------------------------- |
| `turnint_started`         | セッション開始                     |
| `turnint_ended`           | セッション終了                     |
| `turnint_slide_viewed`    | スライド閲覧                      |
| `turnint_action_executed` | アクション実行（CTA クリックなど）         |
| `turnint_message_sent`    | メッセージ送信                     |
| `turnint_context_updated` | ゲート（フォームなど）を通じてユーザー情報が識別された |

## GTM での設定例

### トリガー

1. **トリガー** > **新規** > **カスタムイベント**
2. イベント名に `turnint_action_executed` を指定（正規表現で `turnint_.*` も可）

### タグ

作成したトリガーを使って、GA4 イベントタグや他の配信先タグを設定できます。

<Note>
  `turnint_action_executed` を GA4 のコンバージョンイベントとして転送することで、CTA のコンバージョン率を計測できます。
</Note>
