【実践ガイド】GA4×BigQuery×LINE連携の基本:Web行動からセグメントを作りLINE配信に戻す
GA4×BigQuery×LINE連携でWeb行動データを活用し、顧客の興味関心に合わせたLINEセグメント配信を実現。具体的な手順と導入課題の解決策を解説。
目次 クリックで開く
Webサイト上の行動データを、即座にLINEのパーソナライズ配信に転用する。この「データ駆動型マーケティング」の実現には、GA4、BigQuery、そしてLINE Messaging APIを繋ぐ強固なデータパイプラインが不可欠です。本ガイドでは、高額なCDP(カスタマーデータプラットフォーム)を導入せず、モダンデータスタックを活用して低コストかつ柔軟にこの仕組みを構築する実務手順を詳説します。
GA4×BigQuery×LINE連携の全体アーキテクチャ
このシステムを構築する目的は、GA4で計測した「特定の製品ページを3回見た」「カートを放棄した」といったWeb上の挙動を、LINEのuserIdと紐付けて、最適なタイミングでメッセージを届けることにあります。
なぜGA4標準機能だけでは不十分なのか
GA4の管理画面上でも「オーディエンス」を作成し、Google広告などへ連携することは可能です。しかし、LINEへの連携においては以下の壁が存在します。
- 識別子の不一致:GA4は
client_id(Cookie)、LINEは固有のuserIdを使用しており、これらを紐付ける「名寄せ」の工程が管理画面内では完結しません。 - データの粒度:標準レポートでは集計済みのデータしか扱えませんが、LINE配信にはユーザー単位の「生データ(Raw Data)」が必要です。
- エクスポート機能の欠如:GA4から外部API(LINE等)へ直接データをPushする機能はありません。
これらの課題を解決するために、全てのローデータをBigQueryへ集約し、そこでIDの紐付けとセグメント抽出を行う「ハブ・アンド・スポーク」型の設計が推奨されます。
実装ステップ1:GA4からBigQueryへのデータ転送
まずは、GA4のデータをBigQueryへ自動転送する設定を行います。これはGoogle Cloudのネイティブ機能であり、数クリックで完了します。
設定手順とエクスポートの選択
- Google Analyticsの「管理」>「サービス間のリンク」>「BigQueryのリンク」を選択。
- リンクを作成するGoogle Cloudプロジェクトを選択。
- データの種類として「毎日(1回/日)」または「ストリーミング(継続的)」を選択します。
実務上の注意点:
「ストリーミング」を選択した場合、ほぼリアルタイムでデータがBigQueryに飛びますが、1GBあたり0.05ドルの追加料金が発生します。また、ストリーミングデータは「当日分」のテーブル(events_intraday_YYYYMMDD)に入るため、クエリの書き方に工夫が必要です。
コストシミュレーション
BigQueryの料金体系は「ストレージ料金」と「クエリ料金」の2階建てです。
| 項目 | 料金目安(2026年時点) | 無料枠(毎月) |
|---|---|---|
| ストレージ(アクティブ) | $0.02 / GB | 10 GB |
| クエリ(オンデマンド) | $6.25 / TB | 1 TB |
| ストリーミング挿入 | $0.05 / 1GB | なし |
【公式リソース】BigQuery Pricing (Google Cloud)
実装ステップ2:BigQuery内での名寄せとセグメント作成
データがBigQueryに集まっただけでは、LINE配信はできません。GA4のuser_pseudo_idと、LINEのuserIdを紐付ける必要があります。
ID名寄せの具体的フロー
最も確実な方法は、WebサイトにLINEログインを実装することです。ユーザーがLINEログインした瞬間に、以下の処理を走らせます。
- LINE APIから返却される
userIdを取得。 - GA4の計測タグ(gtag.js)で、
user_idプロパティとしてそのuserIdをセットして送信。 - BigQuery側で、GA4の
user_idカラムを参照し、LINE配信リストと結合する。
セグメント抽出SQLの例
以下は、「過去7日間で商品詳細ページを3回以上閲覧したが、購入していないユーザー」を抽出するSQLのイメージです。
SELECT
user_id AS line_user_id,
COUNT(event_name) AS view_count
FROM
project_id.analytics_XXXXXX.events_*
WHERE
event_name = 'page_view'
AND (SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'page_location') LIKE '%/product/%'
AND _TABLE_SUFFIX BETWEEN FORMAT_DATE('%Y%m%d', DATE_SUB(CURRENT_DATE(), INTERVAL 7 DAY)) AND FORMAT_DATE('%Y%m%d', DATE_SUB(CURRENT_DATE(), INTERVAL 1 DAY))
GROUP BY
1
HAVING
view_count >= 3
実装ステップ3:リバースETLによるLINEへの書き戻し
抽出したリストを、LINE Messaging API経由で配信するためには、システムを繋ぐ「リバースETL」ツールの活用が効率的です。自社でPython等のスクリプトを書くことも可能ですが、エラーハンドリングやAPIリミット対応を考慮すると、商用ツールの導入に分があります。
主要リバースETLツールの比較
| ツール名 | 特徴 | 料金体系(目安) | 導入事例 |
|---|---|---|---|
| trocco® | 国産。直感的なUI。日本のSaaS連携に強い。 | 月額10万円〜(従量課金) | アスクル株式会社 |
| Hightouch | グローバル標準。SQLベース。 | 月額0(無料枠あり)〜</td> <td><a href="[https://hightouch.com/customers/petlab](https://hightouch.com/customers/petlab)" target="_blank">Petlab Co.</a></td> </tr> <tr> <td><strong>Census</strong></td> <td>dbt連携が強力。高度な同期管理。</td> <td>月額300〜 |
Canva |
trocco®を用いたコネクタ設定の手順
- 転送元設定:BigQueryを選択し、先ほど作成したセグメント抽出用のSQLを入力。
- 転送先設定:LINE Messaging APIを選択。アクセストークン等を入力します。
- マッピング:BigQueryの
line_user_idをLINEのto(送信先)に紐付け、メッセージ内容を指定。 - スケジュール:1時間に1回、毎日20時など、配信頻度を設定。
トラブルシューティング:実務で陥る「動かない」原因
1. LINE Messaging APIのレートリミット(429 Too Many Requests)
LINE Messaging APIには、1秒あたりの送信上限(レートリミット)があります。一度に数万件のセグメントを送り込もうとすると、エラーが発生します。リバースETLツール側で「バッチサイズ」や「リトライ間隔」を調整する必要があります。
2. user_idの不一致(Cookieの有効期限)
ITP(Intelligent Tracking Prevention)の影響により、Safari等では1st Party Cookieの有効期限が短縮されています。LINEログインから時間が経過し、ブラウザのCookieが消えてしまうと名寄せができなくなります。これを防ぐには、サーバーサイド計測(GTM Server-side)の導入が有効です。
結論:データ基盤は「作る」から「繋ぐ」時代へ
GA4、BigQuery、LINEを繋ぐアーキテクチャは、一度構築してしまえば、マーケターがSQLを1行書き換えるだけで、即座に新しいキャンペーン配信を開始できる柔軟性を持ちます。高額なMAツールの機能不足に悩む前に、まずは手元の行動データを「活用可能な形」でパイプライン化することをお勧めします。
データ連携を成功させるための実務チェックリスト
GA4とBigQueryを軸にしたLINE配信基盤は強力ですが、いざ運用を始めると「想定したユーザーに届かない」「コストが跳ね上がった」という課題に直面しがちです。実装を完了させる前に、以下の3点を必ず確認してください。
1. プライバシー保護と同意管理(Consent Mode)
改正個人情報保護法やGDPRの観点から、Webサイトでの行動計測とLINE IDの紐付けにはユーザーの同意が必須です。Googleが提供する「同意モード(Consent Mode)v2」への対応状況を確認し、ユーザーがデータ提供を拒否した際、どのようにBigQuery側でフィルタリングするかを定義しておく必要があります。
2. データの「鮮度」と「配信コスト」のバランス
「リアルタイム配信」は魅力的ですが、すべての施策に適用するとコストパフォーマンスが悪化します。施策の目的に応じて、バッチ処理(1日1回)で十分なものと、ストリーミングが必要なものを切り分けましょう。
| 配信タイミング | 主な用途 | データ転送コスト |
|---|---|---|
| ストリーミング(即時) | カート放棄、ブラウザ放棄、サンクスページ表示直後のフォロー | 高($0.05/GB) |
| バッチ処理(1日1回) | 週次レポート、休眠ユーザー掘り起こし、誕生月特典 | 低(無料枠内) |
3. LINE公式アカウントの「通数課金」への影響
セグメント配信は、一斉配信に比べて通数を絞れるメリットがありますが、BigQueryで抽出した「ターゲット数」がLINE公式アカウントのプラン上限を超えないか注意が必要です。リバースETLを実行する前に、抽出クエリに LIMIT をかけるか、優先順位の高いユーザーから送信するロジックをSQLに組み込むのが実務上の定石です。
ツール選定の全体像を把握したい方は、こちらの高額なCDPは不要?BigQuery・dbt・リバースETLで構築する「モダンデータスタック」ツール選定と公式事例も参考にしてください。
参考公式リソース
実装の詳細や最新のAPI仕様については、以下の公式ドキュメントを随時参照することをお勧めします。
なお、各種アプリのすべての機能を使用するには、Gemini アプリ アクティビティを有効にする必要があります。
ご相談・お問い合わせ
本記事の内容を自社の状況に当てはめたい場合や、導入・運用の設計を一緒に整理したい場合は、当社までお気軽にご相談ください。担当より折り返しご連絡いたします。
LINE公式アカウント支援
LINE公式アカウントの配信設計からCRM連携、LINEミニアプリ開発まで。顧客接点のデータを統合し、LTVと売上を上げるLINE活用を実現します。