予約ページを自社サイトに埋め込むと、ページ離脱を抑えながら商談予約へつなげられます。一方で、広告別の予約数や予約完了率をGA4で追おうとした途端、「予約フォームは表示されたのにCVが出ない」「GTMのクリックイベントだけが増える」といった問題が起きがちです。
この記事を読むと、埋め込み予約ページにおいて、次の状態を設計できます。
utm_source などの流入情報を予約導線へ引き継ぐJicooの公式ヘルプでは、埋め込み予約ページはGoogle Analyticsの計測対象外と案内されています。そのため、通常の予約ページにGA4測定IDを設定する方法を、そのまま埋め込みへ適用しても期待した結果にはなりません。
手作業では、広告媒体の管理画面、GA4、予約一覧、CRMを開き、予約者ごとに流入元を突き合わせることになります。月末に数字が合わず、マーケターと営業が確認を繰り返す状況は、現場は悲鳴を上げているはずです。
埋め込み予約の計測では、「予約フォームを見た」と「予約が確定した」を分け、確定シグナルをCRMまでつなぐことが重要です。広告最適化だけでなく、営業チームが安心して商談準備に集中できる状態をつくる、という体験こそが価値です。
本記事の仕様確認日:2026年8月27日
JicooのWebhookや予約完了通知イベントAPIの公開可否は、利用プラン・最新の公式仕様を要確認です。
埋め込み予約のGA4計測は、タグを追加する前に「どこで何が起きるか」を整理すると失敗を減らせます。
まず、次の4つの画面を図にしてください。
ここで最も重要なのは、予約フォームが親ページと同じドメインで動いているとは限らない点です。iframe内の予約フォームは、予約ツール側の別ドメインで表示されることが一般的です。
親ページに設置したGTMは、通常、iframe内の入力・日時選択・予約確定ボタンを自由に取得できません。ブラウザのセキュリティ制約により、異なるオリジンのiframe内部を親ページのJavaScriptやGTMから読むことはできないためです。
計測設計で混同しやすいイベントを、次のように分けます。
| イベント名の例 | 発火条件 | 用途 | 予約完了CVにしてよいか |
|---|---|---|---|
booking_embed_view |
埋め込み枠が表示された | 導線到達率の確認 | 不可 |
booking_embed_visible |
iframeが一定割合表示された | ファーストビュー・導線配置の評価 | 不可 |
booking_cta_click |
「日程を選ぶ」など親ページ上のCTAをクリックした | 予約意向の把握 | 不可 |
booking_started |
予約ツールが開始イベントを親ページへ通知した | フォーム開始率の確認 | 条件付き |
booking_completed |
予約完了後のサンクスページ表示、または確定通知を受信した | 予約完了数の把握 | 可 |
booking_cancelled |
キャンセル確定を受信した | 実質商談数の補正 | 不可 |
親ページのクリックやiframeの表示だけで予約完了を推定すると、広告CVは多く見えます。実務的には、広告レポートのCVとCRM上の確定予約が乖離し、運用判断を誤る原因になります。
準備段階で、次の権限を確認します。
Jicooでは、日程調整の自動化、カレンダー連携、ルーティングフォーム、担当者自動割当などを組み合わせた運用ができます。予約データを営業プロセスに接続する前提を整理したい場合は、予約に関する活用記事も参照してください。
GA4には、氏名、メールアドレス、電話番号、会社名、自由記述欄などの個人情報を送信しないでください。
避けるべき実装は、たとえば次のとおりです。
booking_completed にメールアドレスをパラメータとして付与するGA4で扱うのは、匿名化・分類済みの情報に限定します。
booking_type:demo、consultation などlead_source:google_ads、linkedin_ads、newsletter などcampaign_group:施策を識別する任意の分類assigned_team:sales_a、cs などのチーム単位booking_status:completed、cancelled など
PCでは、まず「UTMの引き継ぎ」と「予約完了の確定シグナル」を別々に実装します。一度に全部を完璧にしようとせず、親ページの中間イベント、サンクスページCV、CRM照合の順で積み上げると安全です。
広告、メール、ウェビナー告知などで表記が揺れると、GA4でもCRMでも集計できません。まず、マーケティングと営業で使う値を決めます。
| パラメータ | 記入例 | 運用ルール |
|---|---|---|
utm_source |
google、linkedin、newsletter |
流入媒体を小文字で統一 |
utm_medium |
cpc、paid_social、email |
チャネル種別を統一 |
utm_campaign |
fy26q3_demo_request |
施策名と期間を含める |
utm_content |
hero_cta_a |
クリエイティブ・配置の識別に使う |
utm_term |
schedule_tool |
検索語句用途に限定する |
UTMの値は予約ツール側の予約データ、CRM、広告管理画面で同じ表記にします。Google と google、PaidSocial と paid_social のような表記揺れは、集計時の手作業を増やします。
LPへの流入URLに付いたUTMを、GTMで取得します。
utm_source を指定します。utm_medium、utm_campaign、utm_content も同様に作成します。この段階で送るイベントは、予約完了ではなく、埋め込み枠の表示やCTAクリックに留めます。
たとえば、埋め込み枠の表示を計測する場合は、GTMの要素の表示トリガーを使い、埋め込みコンテナに固有のIDを設定します。イベント名は booking_embed_view とします。
Jicooの埋め込みでは、公式ヘルプ上、埋め込み用の data-url にUTMパラメータを付与する方法が案内されています。
ただし、埋め込みコードをHTMLに固定で貼り付けるだけでは、LPごとに異なるUTMを動的に引き継げません。広告流入ごとの値を反映するには、CMS、タグマネージャー、またはサイトのJavaScriptで予約URLを組み立てる必要があります。
実装時は、次の順で確認します。
utm_source=test を付けてアクセスします。utm_source=test が付与されているか確認します。utm_medium、utm_campaign も同様に確認します。UTMの引き継ぎは「URLに値が付いた」だけでは完了しません。予約確定後に、予約データやCRMレコードにどの値が保存されたかまで確認してください。
親ページ側で取得できる中間イベントは、予約導線の改善に役立ちます。
推奨するイベント例は次のとおりです。
| GA4イベント | GTMトリガー | 見る指標 |
|---|---|---|
booking_embed_view |
埋め込み枠の表示 | 予約導線到達率 |
booking_scroll_reached |
予約枠付近までスクロール | CTA配置の妥当性 |
booking_cta_click |
親ページ上の予約ボタンのクリック | 予約意向率 |
booking_help_click |
「日程が合わない場合」リンクのクリック | 空き枠・導線の課題 |
たとえば、booking_embed_view は多いのに booking_completed が少ない場合、予約フォーム内の体験、空き枠、入力項目、担当者割り当てなどを見直す対象になります。
ただし、iframe内部の日時選択・時刻選択をGTMで取れるとは限りません。予約ツールがJavaScript Embed用のイベント通知やpostMessageを提供している場合に限り、親ページで受信してGA4へ送信できる可能性があります。
Calendlyは、専用の埋め込み方法で予約イベントをpostMessageとして親ページへ通知する仕組みを公開しています。一方、単純なiframeでは同じ追跡方法が使えない場合があります。予約ツールを選ぶ際は、見た目だけでなく、**埋め込み方式とイベント通知の仕様を確認することが大切です。
Jicooにおける予約完了通知イベントAPIやWebhookの可否は、公開ヘルプだけでは断定できません。導入前に最新の公式ドキュメントまたはサポート窓口で確認してください。
埋め込み予約で最も実装しやすい予約完了計測は、予約完了後のリダイレクトです。
予約完了後に自社ドメインのサンクスページへ遷移できる場合、親サイト側のGTMで確定CVを計測できます。
設定手順は次のとおりです。
/thanks/booking-completed/thanks/booking-completed に等しい」に設定します。booking_completed に設定します。booking_completed をキーイベントとして設定します。サンクスページは、予約完了だけでなく、次の行動も案内できます。
日程調整を起点に、商談品質を上げる導線をつくる視点は、営業・マーケティングの業務改善にもつながります。
予約完了ページが自社の別ドメインにある場合は、GA4のクロスドメイン計測を検討します。
設定の対象になりやすいケースは、次のとおりです。
www.example.comreserve.example.jpGA4管理画面で、WebデータストリームのGoogleタグ設定から、クロスドメイン設定に対象ドメインを追加します。対象サイトで同じGA4測定IDまたはGoogleタグを正しく使っていることも確認してください。
ただし、クロスドメイン計測は、別ドメインにまたがるユーザーを同一ユーザーとして把握しやすくするための設定です。静的iframe内で完結する予約フォームの予約完了イベントを、自動的に取得する機能ではありません。**
「クロスドメインを設定したからiframe内の完了も取れる」と考えると、計測設計が崩れます。iframe内の完了を取るには、リダイレクト、予約ツールのイベント通知、Webhookなど、別の確定シグナルが必要です。

埋め込み予約は、スマホで計測漏れが起きやすい導線です。PCで予約枠が見えていても、スマホではiframeの高さが足りず、時刻選択や完了ボタンまで到達できないことがあります。
また、広告流入の多くがスマホに偏っている場合、PCだけでGA4計測を検証しても広告CVの実態をつかめません。
次のURLをスマホ実機で開きます。
https://example.com/demo?utm_source=test&utm_medium=cpc&utm_campaign=booking_mobile_test
確認する項目は次のとおりです。
booking_completed が確認できるスマホで多い失敗は、予約フォームの下部が見えないことです。
確認時は、次の状態まで進めます。
iframeが途中で切れると、ユーザーは「予約ボタンがない」と感じます。問い合わせフォームへ戻ったり、離脱したりするため、広告費だけが先に消化されます。疲弊するのは広告運用担当だけではなく、商談数を待つ営業チームも同じです。
スマホ実機でGTMを確認する方法は、環境によって異なります。少なくとも、次のいずれかで検証してください。
スマホとPCでは、Cookie同意バナー、ブラウザのトラッキング制限、リダイレクト挙動が異なることがあります。PCでイベントが見えるのに、スマホではCVが出ない場合、まずスマホのテスト予約を1件実施してください。
スマホ広告では、広告クリック直後に予約せず、移動中や業務の合間に後から予約する人もいます。そのため、広告媒体のクリック数と即時予約数だけで施策を評価すると、判断が早すぎる場合があります。
見るべき流れは次のとおりです。
booking_embed_viewbooking_cta_clickbooking_completed予約完了の先にある営業成果まで見るには、GA4だけで完結させず、CRMとの照合が必要です。マーケティングと営業で同じ数字を見られる状態は、チームの心理的安全性にも影響します。「GA4ではCVなのに営業には情報がない」という会話を減らせるからです。
計測を実装した後は、GA4のイベント数を眺めるだけでは不十分です。広告運用、予約運用、CRMの3つを週次で照合する仕組みにします。
広告キャンペーン別に、次の数値を並べます。
| 指標 | 確認先 | 判断の例 |
|---|---|---|
| セッション数 | GA4 | 流入量が不足していないか |
| 埋め込み表示数 | GA4 | 予約導線まで到達しているか |
| 予約完了数 | GA4・予約管理画面 | 計測と実数が近いか |
| 予約完了率 | GA4 | 導線・訴求の改善余地があるか |
| CRM登録数 | CRM | 予約データ連携が欠けていないか |
| 商談実施数 | CRM | 無断キャンセルや日程品質を確認 |
| 商談化数 | CRM | 広告の質を評価 |
たとえば、ある広告のbooking_embed_viewが多く、booking_completedが低い場合、広告クリエイティブの期待値と予約ページの内容がずれている可能性があります。
一方、予約完了率は高いのに商談実施率が低い場合は、リマインド、会議URL案内、担当者割り当て、事前ヒアリングの設計を見直す領域です。Jicooではカレンダー連携や会議URLの自動発行、担当者自動割当などの運用が考えられます。
CRMには、最低限、以下の項目を保存します。
utm_sourceutm_mediumutm_campaignCRMにUTMを残す目的は、広告のCVを増やすことだけではありません。「どの流入が、どの営業チームの、どの商談タイプにつながったか」を再現できるようにすることです。
予約データを他システムへつなぐ選択肢は、予約ツールの標準連携、REST API、ノーコード自動化ツール、Webhookなどがあります。APIや自動化の設計パターンは、API活用の記事や連携に関する記事も参考になります。
予約ツールが予約完了Webhookを提供している場合、サーバー側で予約完了を受信し、CRM登録とGA4イベント送信を行う構成を検討できます。
処理の流れは次のとおりです。
booking_completed を送信するこの方法は、サンクスページに依存しにくい点が利点です。ユーザーがサンクスページ表示前にブラウザを閉じても、予約システム側で確定していれば、CRMの予約記録を残せます。
ただし、Measurement Protocolは、ブラウザ上のGA4イベントを単純に置き換えるものではありません。ユーザー識別子、セッション情報、同意状態、重複排除のルールを設計する必要があります。
特に注意したいのは、同じ予約をブラウザ側とサーバー側の両方から送信して、二重CVにすることです。
二重計測を避けるには、次のどちらかを決めます。
高度な実装では、予約IDを直接GA4へ送らず、個人情報を含まないランダムなイベントIDへ変換して利用する方法があります。この部分は開発・データ基盤・プライバシー担当を交えて設計してください。
原因
iframe内の操作を、親ページのGTMで取得しようとしている可能性があります。
対処
postMessage、Webhookを提供しているか確認します。原因
これは計測エラーではなく、予約途中離脱を含んだ自然な差分であることがあります。
対処
booking_cta_clickをCVとして設定していないか確認します。booking_completedをキーイベントに設定します。クリックが多く予約が少ない状態は、広告の問題とは限りません。予約枠が少ない、希望時間がない、入力項目が多い、担当者が選べないなど、予約体験の課題が隠れていることもあります。
原因
対処
Cookie利用や識別子の保存は、同意管理とプライバシーポリシーに沿って実施してください。
原因
クロスドメイン設定の役割を、iframe内イベントの取得と誤解している可能性があります。
対処
原因
対処
差分を「誤差」として片付けず、予約IDまたはテスト用識別子単位で照合します。
| 照合対象 | 正とするデータ | 確認すること |
|---|---|---|
| 予約確定件数 | 予約ツールまたはCRM | 実際に予約が存在するか |
| Web上のCV | GA4 | サンクスページまたはイベントが発火したか |
| 広告CV | 広告媒体 | インポート・計測期間・アトリビューション |
| 商談実施件数 | CRM | キャンセル・無断欠席を除外できているか |
件数差分の原因を毎回個人が調べる運用は、疲労を蓄積させます。差分の判定基準を仕様書に残し、誰が見ても同じ確認ができる状態にしてください。
埋め込み予約の計測は、GA4単体で完結させない方が安定します。現場感としては、次の4層で役割分担する設計が扱いやすいです。
小規模から始める場合は、次の構成が現実的です。
booking_completedをGA4へ送るより厳密に管理する場合は、次の構成へ拡張します。
Jicooのように、日程調整、担当者自動割当、ルーティングフォーム、カレンダー連携、CRM連携を組み合わせられる環境では、予約は単なるフォーム送信ではありません。営業プロセスの入口です。
だからこそ、マーケティングは「予約数」、営業は「商談数」、RevOpsは「正しいデータ連携」と別々に追うのではなく、同じ予約IDと同じ定義で会話できるようにする必要があります。人が数字合わせに追われず、本来のコア業務である提案や顧客理解に集中できる状態を目指したいですね。
埋め込み予約ページのGA4計測では、iframeの表示や親ページのクリックを予約完了CVとして扱わないことが出発点です。
実装時は、次の順で進めてください。
booking_embed_view、booking_cta_click、booking_completedを分けて定義する booking_completedを発火し、GA4のキーイベントに設定する まずは、テスト用UTMを付けたURLから予約を1件作成し、LP、埋め込み予約、サンクスページ、GA4 DebugView、CRM**の5地点でデータがつながるか確認してみてください。その1件が通れば、広告別・担当者別・商談化別に計測を広げるための土台になります。
予約システムを導入すると収益、業務効率化に多くのメリットがあります。どの予約システムが良いか選択にお困りの方は、普段使っているGoogleカレンダーやOutlookなどのカレンダーサービスをベースにした予約管理システムの導入がおすすめです。


