WEB行動タグ設置
▼事前準備:必要なものを確認
事前に必要なもの
- Googleアカウント - GA4を管理するためのGoogleアカウント
- GA4プロパティ - Google Analyticsのプロパティ作成(以下の手順で作成)
- ウェブサイトの管理権限 - HTMLファイルを編集できる権限
GA4プロパティとデータストリームの作成手順
まず、Google AnalyticsでGA4プロパティとWebサイト用のデータストリームを作成します。
1. GA4管理画面にアクセス
Google Analytics を開く
Googleアカウントでログインしてください。
2. 管理画面を開く
左下の「⚙️ 管理」をクリックします。
3. データストリームを開く
左側メニュー「プロパティ設定」の中から「データストリーム」をクリックします。

4. 新しいストリームを追加
右上の「ストリームを追加」ボタンをクリックし、プラットフォームは「ウェブ」を選択してください。
重要
MOTENASUは「ウェブ」プラットフォームのみ対応しています。
- ✅ ウェブ:対応(必ずこちらを選択)
- ❌ iOS アプリ:対応していません
- ❌ Android アプリ:対応していません
※ モバイルブラウザ(スマートフォン・タブレットのブラウザ)からのアクセスは「ウェブ」として計測されますので、問題なく利用できます。

5. プラットフォーム情報を入力
※ 入力例:
- ウェブサイトのURL:例
www.mywebsite.com - ストリーム名:例
ウェブサイト(任意の名前でOK) - 拡張計測機能:✅ チェックを入れたまま(推奨)
※ モバイルアプリを選択した場合: バンドルID(iOS)またはパッケージ名(Android)を入力します。
入力後、画面下部の「ストリームを作成」ボタンをクリックします。

6. ストリーム作成完了を確認
ストリームが作成されると、データストリーム一覧に表示されます。
作成したストリーム(例:MOTENASU SHOP)の右側にある「→」をクリックして詳細画面を開きます。

7. 測定IDを確認
「ウェブストリームの詳細」画面で、測定ID(G-XXXXXXXXXX の形式)をコピーしてください。

重要
この測定IDは、次のセクションでタグ設置時に使用します。
GA4プロパティの作成完了
測定ID(G-XXXXXXXXXX)を控えたら、次のセクションに進んでください。
補足:プロパティIDについて
MOTENASUのBigQuery連携設定では「プロパティID」(9-12桁の数字)が必要になります。
確認方法:
GA4管理画面 → ⚙️ 管理 → プロパティ列の「プロパティの詳細」をクリック → 右上に表示される「プロパティ ID」をコピー

▼BigQuery連携準備(MOTENASU側で実施)
重要
セクション1で作成したGA4プロパティIDを使用して、MOTENASU側でBigQuery連携の準備を行います。
MOTENASU側で実施する内容
1. お客様情報の登録
以下の情報をMOTENASU管理画面に登録します:
- GA4管理者メールアドレス
- GA4プロパティID(セクション1で確認した9-12桁の数字)
- ご利用プラン
- 許可ドメイン
2. BigQueryデータセットの自動作成
以下の処理を自動実行します:
- 専用DBデータセットの作成(
analytics_[プロパティID]形式) - データロケーション:
asia-northeast1(東京)
3. IAM権限の自動付与
セキュアな権限設定を自動で行います:
- お客様メールアドレスへのデータセット閲覧権限付与
- GA4サービスアカウントへのデータ書き込み権限付与
- セキュリティ分離設定(他のお客様データへのアクセス防止)
お客様側での最終設定(GA4管理画面でのBigQuery連携)
MOTENASU側でのセットアップ完了後、お客様のGA4管理画面でBigQuery連携の最終設定を行います。
重要
MOTENASU側で準備したBigQueryデータセットと権限を、GA4管理画面から連携させる最終ステップです。
1. GA4管理画面にログイン
MOTENASUから通知されたメールアドレスでGA4管理画面にアクセスします。
2. 管理画面からBigQueryのリンクを開く
左下の「⚙️ 管理」をクリック → プロパティ列の「プロダクトのリンク」→「BigQueryのリンク」を選択します。

3. 新しいリンクを作成
「BigQueryのリンク」画面で、右上の「リンク」ボタン(青いボタン)をクリックします。

注意
既存のBigQueryリンクが表示されている場合は、このステップをスキップしてください。
4. BigQueryプロジェクトを選択
「BigQuery プロジェクトを選択」画面が表示されます。
「BigQuery プロジェクトを選択」ボタンをクリックします。

5. MOTENASU-prodプロジェクトを選択
アクセス権のあるBigQueryプロジェクト一覧から、MOTENASU-prod を選択します。

注意
MOTENASU-prod が表示されない場合は、MOTENASU側での権限付与が完了していない可能性があります。MOTENASUサポートにお問い合わせください。
6. データセットとロケーションを設定
プロジェクト選択後、以下の設定を行います:
- データセット:
analytics_[プロパティID]を選択
例:analytics_123456789(MOTENASU側で作成済み) - データの場所:
asia-northeast1 (東京)を選択 - データストリーム:エクスポートしたいストリームにチェック(通常は全選択)
7. エクスポート頻度を選択
以下のエクスポート設定を行います:
- 毎日のエクスポート:✅ 有効化してください(必須)
→ 毎日0時(JST)に前日分のデータが自動エクスポートされます - ストリーミングエクスポート:❌ 有効化しないでください
→ リアルタイム送信は課金対象のため、通常は不要です
重要
毎日のエクスポートのみで十分です。翌日には前日分のデータがMOTENASUダッシュボードで確認できます。
8. 設定を確認して送信
設定内容を確認し、「送信」ボタンをクリックします。
完了
BigQueryリンクが作成されました!
「BigQueryのリンク」一覧にリンクが表示され、ステータスが「有効」になれば完了です。
注意事項
- BigQuery連携設定が完了するまで、データのエクスポートは開始されません
- 設定完了後、最初のデータが表示されるまで24-48時間かかる場合があります
- ストリーミングエクスポートは高額な課金が発生するため、通常は無効のままにしてください
セキュリティ設計
お客様は自分専用のデータセット(analytics_[プロパティID])のみアクセス可能です。他のお客様のデータや社内データへのアクセスは完全に制限されています。
▼統合ライブラリの設置方法
既存のGoogle Tag Manager (GTM) を使用している場合
GTMとの共存について:
MOTENASUのGA4タグは、既存のGTM(Google Tag Manager)と共存できますが、以下の点にご注意ください。
推奨設定パターン
パターン1: 別々の測定ID(推奨)
- GTM:
G-AAAAAAAAA(既存のGA4測定ID) - MOTENASU:
G-BBBBBBBBB(新しいGA4測定ID) - ✅ メリット: 完全に独立して動作、イベント重複なし
- ❌ デメリット: 2つのGA4プロパティを管理
パターン2: GTMを削除してMOTENASUのみ
- 既存のGTMタグを削除
- MOTENASUのGA4タグのみ使用
- ✅ メリット: シンプル、重複なし
- ❌ デメリット: GTMの他の機能が使えなくなる
⚠️ 重要
GTMとMOTENASUで同じ測定IDを使用すると、イベントの二重送信や設定の競合が発生します。必ず別々の測定ID(パターン1)を使用してください。
ga4-common.js 統合ライブラリ設置【推奨】
たった1つのファイルを読み込むだけで、すべてのGA4機能が利用できます。従来の複数ファイル管理から解放される最もシンプルな方法です。
1. 測定IDを取得
GA4管理画面 → 「管理」→ 「データストリーム」→ 該当するストリームをクリック
「G-XXXXXXXXXX」形式の測定IDをコピーします。
2. MOTENASU提供の固定URLを確認
MOTENASUが提供する固定のJSライブラリURLを使用します。
ファイルのダウンロードや配置は不要です。
URL例:https://ga4.motenasu-cdn.com/ga4-common.js
3. HTMLに統合ライブラリを読み込み
ウェブサイトのすべてのページの<head>タグ内に以下のコードを貼り付けます:
<!-- GA4統合ライブラリ(MOTENASU提供・固定URL) -->
<script src="https://ga4.motenasu-cdn.com/ga4-common.js"></script>
<script>
// GA4統合クラスで初期化(推奨パターン: ネームスペース化)
window.MOTENASU = window.MOTENASU || {};
window.MOTENASU.ga4 = new GA4Analytics({
// ↓ あなたのGA4測定IDに変更してください
measurementId: 'G-XXXXXXXXXX',
debugMode: false // 本番環境ではfalse
});
</script>
実際の設置例
HTMLファイルの完全な例を示します。統合ライブラリを使用したシンプルな設置例:
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>あなたのサイトタイトル</title>
<!-- GA4統合ライブラリ(1つのファイルのみ) -->
<script src="https://ga4.motenasu-cdn.com/ga4-common.js"></script>
<script>
// シンプルな初期化(全機能が有効になります)
window.MOTENASU = window.MOTENASU || {};
window.MOTENASU.ga4 = new GA4Analytics({
measurementId: 'G-XXXXXXXXXX',
debugMode: false
});
</script>
<!-- その他のCSS、メタタグなど -->
<link rel="stylesheet" href="style.css">
</head>
<body>
<!-- ページコンテンツ -->
<h1>ページタイトル</h1>
<p>ページ内容...</p>
</body>
</html>
統合ライブラリを使った簡単なイベント追跡
統合ライブラリを使用すると、よりシンプルで直感的なイベント追跡が可能です:
// 統合ライブラリでのイベント追跡例
<script>
// ボタンクリック(手動追跡用)
// ⚠️ 注意: ボタンクリックは自動追跡されません。追跡したいボタンに個別に設定が必要です。
function trackButtonClick(buttonName) {
window.MOTENASU.ga4.core.trackButtonClick(buttonName);
}
// フォーム送信(手動追跡用 - 自動追跡有効時は不要)
function trackFormSubmit(formName) {
window.MOTENASU.ga4.core.trackFormSubmit(formName);
}
// 自動追跡を有効にする(推奨)
window.MOTENASU.ga4.enableAutoTracking({
downloads: true, // ファイルダウンロード追跡(コンバージョン分析ダッシュボードで使用)
forms: true // フォーム送信追跡(コンバージョン分析ダッシュボードで使用)
// 注意: buttons自動追跡機能はありません。重要なボタンのみ手動で実装してください。
});
</script>
<!-- ボタンクリック追跡(コンバージョン分析ダッシュボードで「ボタンクリック→コンバージョン分析」に使用) -->
<!-- 各ボタンにonclickイベントを追加して追跡 -->
<button onclick="trackButtonClick('今すぐ購入')">今すぐ購入</button>
<button onclick="trackButtonClick('カートに追加')">カートに追加</button>
<button onclick="trackButtonClick('お問い合わせ')">お問い合わせ</button>
<!-- 追跡されないボタンの例(onclickなし) -->
<button>詳細を見る</button> <!-- このボタンは追跡されません -->
<!-- フォーム送信(自動追跡有効時は手動設定不要) -->
<form name="contact_form" id="contact_form">
<!-- 自動追跡により、フォーム送信が自動的に計測されます -->
</form>
<!-- ファイルダウンロード(自動追跡有効時は手動設定不要) -->
<a href="/resources/product-catalog.pdf">製品カタログ</a>
<a href="/resources/price-list.pdf">価格表</a>
統合ライブラリでのEコマース設定例
オンラインショップの場合、統合ライブラリの簡潔なメソッドで購入完了やカート追加を計測できます:
// 購入完了イベント(サンキューページに設置)
<script>
// 統合メソッドで購入完了を処理(全機能を一括実行)
window.MOTENASU.ga4.handlePurchase({
transaction_id: '12345',
value: 15000,
tax: 1500, // 税額
shipping: 500, // 送料
currency: 'JPY',
items: [{
item_id: 'SKU001',
item_name: '商品名A',
item_category: 'カテゴリ',
quantity: 1,
price: 15000
}]
});
</script>
// 商品閲覧イベント(商品詳細ページで使用)
<script>
function trackViewItem(itemId, itemName, price, category) {
// Eコマースモジュールで商品閲覧を追跡
window.MOTENASU.ga4.ecommerce.trackViewItem({
item_id: itemId,
item_name: itemName,
price: price,
item_category: category || '',
quantity: 1
});
}
</script>
<!-- 商品詳細ページでの使用例 -->
<script>
// ページ読み込み時に自動実行
trackViewItem('SKU001', 'プレミアム商品A', 15000, 'Electronics');
</script>
// カート追加イベント
<script>
function trackAddToCart(itemId, itemName, price, imageUrl) {
// 統合メソッドでカート追加を処理
window.MOTENASU.ga4.handleAddToCart({
item_id: itemId,
item_name: itemName,
price: price,
quantity: 1,
image_url: imageUrl || '' // 商品画像URL(離脱配信のカート情報表示用)
});
}
</script>
<!-- 商品ページでの使用例 -->
<button onclick="trackAddToCart('SKU001', '商品名A', 15000, 'https://example.com/images/product001.jpg')">
カートに追加
</button>
// 購入手続き開始イベント(カートページの「レジに進む」「購入手続きへ」ボタンで使用)
<script>
function trackBeginCheckout(items, totalValue, coupon) {
// 購入手続き(注文画面)への移動を追跡
window.MOTENASU.ga4.ecommerce.trackBeginCheckout(items, coupon || '');
}
</script>
<!-- カートページでの使用例 -->
<button onclick="trackBeginCheckout([{item_id: 'SKU001', item_name: '商品A', price: 15000, quantity: 2}], 30000)">
レジに進む
</button>
カート削除・クリア機能【重要】
カートから商品を削除したり、カート全体をクリアする場合の実装方法です。カゴ落ち精度向上のために必須の機能です:
// 個別商品をカートから削除
<script>
function removeFromCart(itemId, quantity = null) {
// 統合メソッドで商品削除を処理(DBにも記録)
window.MOTENASU.ga4.ecommerce.trackRemoveFromCart({
item_id: itemId,
quantity: quantity || 1
});
}
// 商品オブジェクトを指定した削除
function removeCartItem(item) {
window.MOTENASU.ga4.ecommerce.trackRemoveFromCart({
item_id: item.id,
item_name: item.name,
price: item.price,
quantity: item.quantity
});
}
</script>
<!-- カートページでの使用例 -->
<button onclick="removeFromCart('SKU001', 1)">
商品を削除
</button>
// カート全体をクリア
<script>
function clearCart(reason = 'user_action') {
// 統合メソッドでカート全削除を処理(DBにも記録)
window.MOTENASU.ga4.ecommerce.trackClearCart({
reason: reason
});
}
// ユーザーがカートを空にした場合
function handleClearCartButton() {
// UI側でカートを空にする
clearCartDisplay();
// GA4に通知(カゴ落ち分析で正確な状態を記録)
window.MOTENASU.ga4.ecommerce.trackClearCart({
reason: 'user_clear_button'
});
}
</script>
<!-- カートページでの使用例 -->
<button onclick="handleClearCartButton()">
カートを空にする
</button>
// 数量変更(削除の応用)
<script>
function updateCartQuantity(itemId, newQuantity, currentQuantity, imageUrl) {
if (newQuantity < currentQuantity) {
// 数量減少 = 一部削除
const removeQty = currentQuantity - newQuantity;
window.MOTENASU.ga4.ecommerce.trackRemoveFromCart({
item_id: itemId,
quantity: removeQty
});
} else if (newQuantity > currentQuantity) {
// 数量増加 = 追加
const addQty = newQuantity - currentQuantity;
window.MOTENASU.ga4.handleAddToCart({
item_id: itemId,
quantity: addQty,
image_url: imageUrl || '' // 商品画像URL
});
}
}
</script>
重要:カート削除機能の必要性
1. カゴ落ち精度向上:削除された商品も含めて分析すると精度が低下
2. DB登録:削除イベントも自動記録され、正確なカート状態を復元可能
3. CRM連携:カート状態の変更がリアルタイムでCRMに反映
自動追跡機能(設定するだけで自動動作)
// 自動追跡を有効化(1回設定するだけ)
window.MOTENASU.ga4.enableAutoTracking({
downloads: true, // ファイルダウンロード追跡
forms: true // フォーム送信追跡
});
// 以下は自動実行される(手動実装不要)
// - ADCODE自動検知(?adcode=ABC123)
// - loginKey自動検知(?loginkey=xxxxx)
// - UTMパラメータ自動検知(広告効果測定)
自動追跡機能について
有効化される機能:
downloads: true- ファイルダウンロード追跡- PDF、ZIP、Excel、Word、PowerPoint、画像、メディアファイル等のダウンロードを自動計測
- 対象拡張子: pdf, doc, docx, xls, xlsx, ppt, pptx, txt, csv, zip, rar, 7z, tar, gz, jpg, jpeg, png, gif, webp, svg, mp3, mp4, avi, mov, wmv, flv, dmg, exe, apk, ipa
- イベント名:
custom_file_download - コンバージョン分析ダッシュボードで「ファイルダウンロード→コンバージョン分析」に使用
- ダウンロードページ、ファイル種類別のCV転換率が計測可能
forms: true- フォーム送信追跡- 問い合わせフォーム、会員登録フォーム、ニュースレター登録等、全ての
<form>タグの送信を自動計測 - 追跡される情報: フォームID、フォーム名、フォームフィールド数(入力値は追跡されません)
- 例:
<form id="contact_form" name="お問い合わせ">の場合- フォームID:
contact_form - フォーム名:
お問い合わせ - フォームフィールド数:
3(お名前、メールアドレス、お問い合わせ内容) - ❌ 追跡されない: 実際の入力内容(田中太郎、tanaka@example.com、商品について...)
- フォームID:
- 例:
- プライバシー保護: フォームに入力された個人情報や機密情報は一切送信されません
- イベント名:
custom_form_submit - コンバージョン分析ダッシュボードで「フォーム送信→コンバージョン分析」に使用
- フォームID・フォーム名で区別可能、フォーム別の送信数・CV転換率が計測可能
- 注意: 重要なフォーム(購入、会員登録等)は個別にカスタムイベント名を設定することを推奨
- 問い合わせフォーム、会員登録フォーム、ニュースレター登録等、全ての
ECサイト実装の優先順位
最優先(必須実装)
- 購入完了 - handlePurchase()
- カート追加 - handleAddToCart()
- カート削除 - removeFromCart() ★カゴ落ち精度向上
- 自動追跡有効化 - enableAutoTracking()
高優先(強く推奨)
- 商品詳細閲覧 - trackViewItem()
- チェックアウト開始 - trackBeginCheckout()
- カート全削除 - clearCart() ★カゴ落ち精度向上
重要:カート削除機能について
従来はカート「追加」のみの追跡でしたが、カゴ落ち精度向上のためには「削除」「クリア」の追跡も必須です。DBに削除イベントも記録され、正確なカート状態の復元が可能になります。
実装パターン例
上記の最優先メソッド4つ(購入・追加・削除・自動追跡)を実装するだけで、基本的なEC分析からカゴ落ち配信まで対応可能です。
コンバージョン分析ダッシュボードを利用する場合の追加実装:
ボタンクリック追跡(trackButtonClick)を追加実装することで、以下のコンバージョン分析が可能になります:
- 資料ダウンロード→購入:カタログPDFダウンロード後の購入転換率を測定
- 特定LP→購入:キャンペーンLPからの購入転換率を測定
- 問い合わせ→購入:お問い合わせフォーム送信後の購入転換率を測定
- 会員登録→購入:新規会員登録後の購入転換率を測定
ボタンクリック追跡の重要ポイント:
- ⚠️ 自動追跡なし: フォーム送信やファイルダウンロードと異なり、ボタンクリックは自動追跡されません
- 手動実装が必須: 追跡したいボタンに個別に
onclickイベントを追加する必要があります - 追跡される情報: ボタンテキスト(またはカスタム名称)、クリック時刻、ページURL、ユーザーID
- 推奨実装: コンバージョンに影響する重要なボタンのみ追跡(全ボタン追跡は不要)
実装例:
<!-- 追跡されるボタン -->
<button onclick="trackButtonClick('今すぐ購入')">今すぐ購入</button>
<button onclick="trackButtonClick('無料相談申込')">無料相談申込</button>
<a href="/catalog.pdf" onclick="trackButtonClick('カタログダウンロード')">カタログDL</a>
<!-- 追跡されないボタン(onclickなし) -->
<button>詳細を見る</button>
<button>閉じる</button>
▼CookieID基準のユーザー識別・自動紐付け仕様【重要】
概要
基本原則
CookieID(user_pseudo_id)を基準に同一ユーザーを識別し、一度紐付いたuser_idを自動的に全イベントに適用します。
重要: 一度CookieIDとuser_idが紐付いたら、そのCookieIDからの全アクセス(loginKeyなし、未ログインでも)に自動的にuser_idを付与します。
ユーザー紐付けトリガー
1. loginKeyパラメータ経由
メール配信URLなどからのアクセス時、自動的にユーザーを識別
MOTENASUでのタグ利用
MOTENASUのメール配信・LINE配信などで、配信URLに [[LOGINKEY]] タグを挿入することで、受信者ごとに一意のloginKeyが自動生成されます。
// MOTENASU配信URL設定例 https://example.com/campaign?[[LOGINKEY]] // 実際の配信時に、受信者ごとに以下のように置き換えられます https://example.com/campaign?loginkey=2f98599a5491e580 // SDK側で自動検出(設定不要) // loginKey自動検知は常時有効のため、自動的に処理されます
2. user_management_idパラメータ経由(チャネル配信成果取得)【開発中】
MOTENASUのチャネル配信(メール・LINE・SMS・DM)からの成果を測定し、どの配信からコンバージョンしたかを自動的に識別
MOTENASUでのタグ利用
MOTENASUのチャネル配信で、配信URLに [[UMID]] タグを挿入することで、配信ごとに一意のuser_management_idが自動生成されます。
測定できる情報:
- どのチャネル配信(メール/LINE/SMS/DM)からのCVか
- 配信キャンペーン別の成果
- 配信セグメント別の転換率
- 配信からCV までの経路分析
// MOTENASU配信URL設定例 https://example.com/campaign?[[UMID]] // 実際の配信時に、配信ごとに以下のように置き換えられます https://example.com/campaign?user_management_id=111111 // SDK側で自動検出(設定不要) // user_management_idは自動的にGA4イベントに付与され、BigQueryに記録されます
[[LOGINKEY]]と[[UMID]]の併用
両方のタグを同時に使用することで、より詳細な分析が可能です:
// 両方を併用した配信URL https://example.com/campaign?[[LOGINKEY]]&[[UMID]] // 実際の配信URL(自動生成) https://example.com/campaign?loginkey=2f98599a5491e580&user_management_id=111111
[[LOGINKEY]]:誰がアクセスしたか(ユーザー識別)[[UMID]]:どの配信からアクセスしたか(配信成果識別)
3. ログイン処理時の手動設定(オプション)
ログイン済みユーザーのIDを設定する場合は、以下のいずれかの方法で実装できます。
方法1: 静的HTML埋め込み(推奨・最も簡単)
サーバー側でログイン済みユーザーIDをHTMLに埋め込み、ページ読み込み時に自動設定
// ログイン後のページHTMLに以下を追加(PHP/Ruby/Python等のテンプレート)
<script>
// ログイン済みの場合のみ実行
if ('<?php echo isset($_SESSION["user_id"]) ? "true" : "false"; ?>' === 'true') {
window.MOTENASU.ga4.setUserIdAfterLogin('<?php echo $_SESSION["user_id"]; ?>');
}
</script>
方法2: data属性を使った静的設定
HTMLのdata属性にユーザーIDを埋め込み、SDK側で自動読み取り
// HTML(ログイン済みの場合のみdata-user-idを出力)
<body data-user-id="<?php echo $_SESSION['user_id'] ?? ''; ?>">
// JavaScript(ページ読み込み時に自動実行)
<script>
document.addEventListener('DOMContentLoaded', function() {
const userId = document.body.getAttribute('data-user-id');
if (userId) {
window.MOTENASU.ga4.setUserIdAfterLogin(userId);
}
});
</script>
方法3: グローバル変数を使った静的設定
サーバー側でJavaScript変数として出力
// サーバー側テンプレートで変数出力
<script>
var CURRENT_USER_ID = '<?php echo $_SESSION["user_id"] ?? ""; ?>';
</script>
// GA4初期化後に実行
<script>
if (CURRENT_USER_ID) {
window.MOTENASU.ga4.setUserIdAfterLogin(CURRENT_USER_ID);
}
</script>
重要
- loginKeyパラメータがある場合は手動設定不要 - loginKeyから自動的にuser_idが取得されます
- 一度設定すれば永続化 - 次回アクセス時は自動的にuser_idが付与されるため、毎回の設定は不要
- 方法1が最も簡単 - 既存のログイン処理に1行追加するだけで完了
自動紐付けの仕組みとデータ保持期間
重要な仕様
1. 7日間遡及更新: user_id紐付け時、過去7日間のイベントデータを遡って更新
2. 自動付与: 紐付け後は、loginKeyなしのアクセスでも自動的にuser_idが付与
user_idの保持期間
| 設定方法 | 保持期間 | 説明 |
|---|---|---|
| loginKey経由(URLパラメータ) | GA4セッションが変わるまで | GA4のセッションID(_gaのセッション)が変更されると自動的にクリアされます。通常30分の非アクティブ後に新セッションとなります。 |
| 手動ログイン(setUserIdAfterLogin) | 永続的 | 明示的なログアウト(handleLogout呼び出し)またはブラウザデータ削除まで保持されます。セッション変更の影響を受けません。 |
| GA4のCookie(_ga) | 最大2年間(ブラウザにより異なる) | Googleが管理するCookieID(user_pseudo_id)の有効期限。Chrome/Firefox: 最大2年間、Safari: 最大7日間 |
実装例:基本的な設定
最もシンプルな実装例です。メール配信のURLに自動的に追加されるloginKeyパラメータにより、ユーザーが自動的に識別されます。
基本的な流れ
1. GA4ライブラリを設置(セクション4参照)
2. メール配信URLに [[LOGINKEY]] を含める
3. ユーザーがリンクをクリックすると自動的に識別される
4. 以降のアクセスでも自動的にユーザーが識別される
メール配信URLの設定例
// メール本文のリンク例 https://example.com/campaign?[[LOGINKEY]] // 実際に配信されるURL(自動生成) https://example.com/campaign?loginkey=2f98599a5491e580
完了
これだけで完了! 追加のコーディングは不要です。
注意点
setUserIdAfterLogin()は、ログイン成功時に1回だけ呼び出してください- 一度紐付けが完了すると、以降のイベントには自動的にuser_idが付与されます
- loginKeyパラメータは自動検出されるため、手動での処理は不要です
- 過去7日を超えるデータは遡及更新されません(パフォーマンス考慮)
▼広告効果測定:UTMパラメータの使い方
UTMパラメータとは?
UTMパラメータは、Meta(Facebook)、Google広告、Yahoo!広告などの広告効果を測定するための標準的な方法です。URLに追加することで、どの広告からユーザーが来たのかを自動的に識別できます。
重要
GA4ライブラリが自動検知: UTMパラメータ付きのURLでアクセスすると、自動的に広告データが記録されます。追加のコーディングは不要です。
UTMパラメータの種類
| パラメータ | 説明 | 例 |
|---|---|---|
utm_source |
参照元(どの媒体か) | facebook, google, yahoo, line |
utm_medium |
メディア(広告の種類) | cpc, display, social, email |
utm_campaign |
キャンペーン名 | summer_sale_2024, new_product |
utm_term |
検索キーワード(オプション) | running_shoes, fitness |
utm_content |
広告バリエーション(オプション) | banner_a, text_ad_1 |
広告プラットフォーム別設定方法
Google広告【推奨:自動タグ設定】
最も簡単
Google広告とGA4をリンクすれば、UTMパラメータ不要で自動計測されます。
設定手順:
- Google広告管理画面 → 「ツールと設定」→ 「リンクされたアカウント」
- 「Google Analytics(GA4)」→ 「詳細を表示」→ 「リンク」
- 「自動タグ設定」を有効化
完了
これだけで完了! UTMパラメータの手動設定は不要です。
手動設定する場合(自動タグ設定が使えない場合のみ):
utm_source=google&utm_medium=cpc&utm_campaign={campaignid}&utm_term={keyword}
設定場所: キャンペーン → 設定 → キャンペーンのURLオプション → 「トラッキングテンプレート」
Meta(Facebook/Instagram)広告【ダイナミックパラメーター推奨】
Meta広告では、広告ごとに「ダイナミックパラメータ」を使って自動的にパラメータを設定できます。
utm_source=facebook&utm_medium=paid_social&utm_campaign={{campaign.name}}&utm_content={{ad.name}}
ダイナミックパラメータの例:
{{campaign.name}}- キャンペーン名が自動入力{{adset.name}}- 広告セット名が自動入力{{ad.name}}- 広告名が自動入力{{site_source_name}}- Facebook/Instagramが自動判別
設定場所: Meta広告マネージャー → 広告作成 → 「トラッキング」セクション → 「URLパラメーター」
注意
キャンペーン名・広告セット名・広告名は必ず半角英数字で作成してください。日本語を使うと文字化けします。
Yahoo!広告【2025年新パラメータ対応】
Yahoo!広告では、アカウント・キャンペーン・広告グループなど様々な階層で設定できます。
utm_source=yahoo&utm_medium=cpc&utm_campaign={campaign}&utm_term={keyword}
設定場所:
- アカウント全体: アカウント → ツール → トラッキング → アカウントトラッキング
- キャンペーン単位: キャンペーン → 設定 → URLオプション
2025年対応
Yahoo!広告は2025年1月より新しいパラメータを導入しました。最新の設定についてはYahoo!広告の公式ヘルプをご確認ください。
LINE広告
utm_source=line&utm_medium=paid_social&utm_campaign=friend_acquisition&utm_content=banner_a
設定場所: LINE広告マネージャー → 広告作成 → 「トラッキング」→ 「カスタムパラメータ」
X(Twitter)広告
X広告では、動的パラメータを使用して自動的にUTMパラメータを設定できます。
utm_source=twitter&utm_medium=paid_social&utm_campaign={{campaign.name}}&utm_content={{tweet.id}}
X広告の動的パラメータ:
{{campaign.name}}- キャンペーン名{{campaign.id}}- キャンペーンID{{tweet.id}}- ツイートID{{lineitem.name}}- 広告グループ名
設定場所: X Ads Manager → キャンペーン作成 → 広告グループ → トラッキングパラメータ
ヒント
X広告では、プロモーション済みツイートごとに異なるUTMパラメータを設定できるため、個別のツイートパフォーマンスを詳細に分析できます。
TikTok広告
TikTok広告では、マクロ(動的パラメータ)を使用してUTMパラメータを自動設定できます。
utm_source=tiktok&utm_medium=paid_social&utm_campaign=__CAMPAIGN_NAME__&utm_content=__AID_NAME__&utm_term=__CID__
TikTok広告のマクロ:
__CAMPAIGN_NAME__- キャンペーン名__AID_NAME__- 広告名__CID__- クリエイティブID__PLACEMENT__- 配置(TikTok/Pangle等)__ADGROUP_NAME__- 広告グループ名
設定場所: TikTok Ads Manager → キャンペーン → 広告グループ → トラッキング → URLパラメータ
注意
TikTokのマクロは二重アンダースコア(__)で囲む必要があります。また、キャンペーン名などは半角英数字で設定することを推奨します。
ADCODEとの併用
UTMパラメータとMOTENASUのADCODEは同時に使用できます:
https://example.com/product?adcode=ABC123&utm_source=facebook&utm_medium=cpc&utm_campaign=summer_sale
推奨
UTMパラメータで広告媒体を識別し、ADCODEで社内管理用のコードを使い分けると、より詳細な分析が可能になります。
データの確認方法
設定したUTMパラメータは以下で確認できます:
- GA4管理画面: レポート → 集客 → トラフィック獲得
- 流入元効果測定ダッシュボード: チャネル別・キャンペーン別の詳細分析
- DBテーブル: 最大2年間のデータ保持
注意
UTMパラメータは大文字小文字を区別します。統一したルールで設定してください(例:すべて小文字、アンダースコア区切り)。
▼設置確認:正しく動作しているかチェック
リアルタイムレポートで確認
1. GA4管理画面を開く
2. リアルタイムレポートを確認
左メニューの「レポート」→ 「リアルタイム」をクリック
別のブラウザやスマートフォンでサイトにアクセスして、アクティブユーザー数が表示されるか確認
正常な状態
リアルタイムレポートでアクティブユーザーが「1」以上表示される
Google Tag Assistant(Chrome拡張)で確認
1. 拡張機能をインストール
2. サイトで確認
自分のサイトにアクセスして、Tag Assistant のアイコンをクリック
「Google Analytics GA4」が緑色で表示されていれば正常に動作中
ブラウザの開発者ツールで確認
1. 開発者ツールを開く
サイトにアクセスして F12 キーを押す(または右クリック→「検証」)
2. Networkタブで確認
「Network」タブ → ページをリロード → 「collect」で検索
「https://www.google-analytics.com/g/collect」へのリクエストが送信されていれば正常
よくある問題
データが表示されない場合は、24時間程度待ってから再確認してください。GA4は初期データの反映に時間がかかることがあります。
▼基本設定の完了
設置完了
タグ設置が正常に確認できれば、基本設定は完了です。GA4はDBにデータをエクスポートし、MOTENASUで分析ダッシュボードを構築するため、GA4管理画面での追加設定は不要です。
▼よくある問題と解決方法
データが表示されない
症状
GA4を設置したが、データが一切表示されない
解決方法:
- 時間を置く: 初回設置から24-48時間待つ
- 測定IDを確認: 正しいIDが設定されているか確認
- タグの配置: <head>内に正しく配置されているか確認
- JavaScriptエラー: ブラウザのコンソールでエラーを確認
- AdBlocker: 広告ブロッカーを無効にして確認
リアルタイムデータは見えるが履歴データがない
症状
リアルタイムレポートには表示されるが、過去のデータが蓄積されない
解決方法:
- データ保持設定: 管理 → データ設定 → データ保持 を確認
- フィルター設定: 内部トラフィックフィルターの影響を確認
- タイムゾーン: プロパティのタイムゾーン設定を確認
データが部分的にしか表示されない
症状
一部のページやイベントのデータが取得できない
解決方法:
- 全ページ設置確認: すべてのページにタグが設置されているか確認
- SPA対応: Single Page Applicationの場合は追加設定が必要
統合ライブラリが読み込まれない
症状
ga4-common.jsが読み込まれない、またはGA4クラスが使用できない
解決方法:
- ファイルパス確認: ga4-common.jsのパスが正しく設定されているか確認
- ファイル存在確認: ga4-common.jsファイルがサーバー上に存在するか確認
- 初期化タイミング: DOMContentLoadedイベント内で初期化しているか確認
- デバッグモード: debugMode: true でブラウザコンソールのログを確認
URLパラメータの自動検知が動作しない
症状
URLパラメータを付けてもイベントが送信されない、またはユーザー識別されない
自動検知されるパラメータ一覧:
| パラメータ名 | 用途 | 形式 |
|---|---|---|
loginkey / loginKey |
ユーザー自動識別(user_id設定) | 任意の文字列 |
adcode / ADCODE |
MOTENASU広告コード追跡 | 4-50文字の英数字 |
user_management_id |
チャネル配信情報追跡 | 数字のみ |
utm_source |
流入元(Google、Facebook等) | 任意の文字列 |
utm_medium |
流入媒体(cpc、email等) | 任意の文字列 |
utm_campaign |
キャンペーン名 | 任意の文字列 |
utm_term |
検索キーワード | 任意の文字列 |
utm_content |
広告コンテンツ識別 | 任意の文字列 |
解決方法:
- パラメータ形式確認: 上記の正しいパラメータ名を使用しているか確認
- バリデーション確認: adcodeは4-50文字の英数字、user_management_idは数字のみ
- デバッグモード:
debugMode: trueにしてコンソールログを確認- loginKey検知: 「GA4Analytics: Login key detected and user_id set」
- adcode検知: 「GA4Adcode: Processing adcode」
- user_management_id検知: 「GA4Adcode: Processing user_management_id」
- UTMパラメータ検知: 「GA4Attribution: New traffic source detected」
- URL例:
https://example.com/?loginkey=ABC123&utm_source=google&utm_medium=cpc
測定IDがわからない
確認方法
GA4管理画面 → 管理 → データストリーム → 該当ストリーム → 「G-XXXXXXXXXX」を確認