ホーム サービス 対応エリア FAQ 会社情報 ブログ 採用情報 キャリアパス カルチャー

【初心者向け】サンクスページのURLが変わらない場合のコンバージョン計測方法|URL遷移なしでCVを計測する実践ガイド【2026年版】

「フォームを送信しても、URLが変わらないままページ内に『送信が完了しました』と出るだけ。これってコンバージョンを計測できないの?」——広告運用やWeb担当を始めたばかりの方から、いちばんよく寄せられる悩みのひとつです。従来のコンバージョン計測は、送信後に専用の「サンクスページ(完了ページ)」へ遷移し、そのページのURLに到達したことを“成果”として数える方法が主流でした。ところが最近は、ページを切り替えずに同じ画面内で完了表示を出すフォームが増え、「サンクスページのURLが存在しない/URLが変わらない」ケースが当たり前になっています。

結論から言うと、URLが変わらなくてもコンバージョンは計測できます。カギは「ページ到達ベース」から「イベントベース」へ計測の考え方を切り替えること、そしてGTM(Googleタグマネージャー)をうまく使うことです。本記事では、計測初心者の方に向けて、①送信ボタンのクリック計測 ②フォーム送信イベント(GA4のform_submit)③サンクス要素の表示検知(DOM変化の検知)④URLパラメータ・アンカー(#thanks)の活用と仮想ページビュー ⑤外部フォームツールのwebhook計測という5つの代表的な手法を、それぞれの精度・難易度・誤計測リスクとあわせてやさしく解説します。さらに、GTMでの実装手順とテスト方法、よくある失敗、FAQ10問までを2026年6月時点の情報で一気通貫にまとめました。具体的な設定値はツールの仕様で変わるため、要所では公式ドキュメントの確認も促しつつ、「自分のフォームはどの手法が向くか」を自分で判断できる状態を目指します。

01 なぜ「サンクスページのURL」が計測に必要だったのか

まず、これまでなぜ「サンクスページのURL」がコンバージョン計測にとって重要だったのかを押さえましょう。ここを理解すると、URLが変わらないときに何が問題になるのか、そして何を代わりにすればよいのかが一気にクリアになります。

従来の定番だったのは、「サンクスページ(完了ページ)に到達したこと=コンバージョン1件」とみなす計測方法です。具体的には、問い合わせフォームを送信すると /contact/thanks/ のような専用URLへ遷移し、そのサンクスページにだけコンバージョンタグ(Google広告のタグやGA4のイベント)を設置しておきます。すると、そのURLが表示された=フォーム送信が完了したと判断でき、広告管理画面に成果として記録される、という仕組みです。

ページ到達ベース計測の考え方:「特定のURL(サンクスページ)が表示されたら、それは送信完了の証拠だからコンバージョン1件」。とてもシンプルで、初心者にも分かりやすく、誤計測も起きにくい——だからこそ長年スタンダードでした。逆に言えば、この方法は「送信完了に対応するURLが必ず存在し、表示される」ことが大前提になっています。

この前提が崩れるのが、本記事のテーマである「URLが変わらないフォーム」です。送信してもサンクスページへ遷移せず、同じ画面のまま完了メッセージだけが出る場合、「到達すべきURL」が存在しないため、ページ到達ベースの計測は機能しません。完了ページのURLにタグを置こうにも、置く場所(=そのURL)がそもそも無いのです。

ただし、ここで悲観する必要はありません。大事なのは「URLが変わったかどうか」ではなく、「フォーム送信が完了したという出来事(イベント)を、何らかの方法で検知できるかどうか」です。URLの変化はあくまで“送信完了を知るための一手段”にすぎませんでした。URLが変わらなくても、別の手段で「送信が完了した」という出来事さえ捉えられれば、コンバージョンは計測できます。次章では、まずそもそもなぜURLが変わらないのか、その仕組みを整理します。

02 URLが変わらないのはどんなとき?(SPA・Ajax・埋め込みフォーム)

「URLが変わらない」と一口に言っても、その裏側の仕組みはいくつかパターンがあります。自分のフォームがどれに当てはまるかを知ることが、適切な計測手法を選ぶ第一歩です。代表的な3パターンを見ていきましょう。

2-1. SPA(シングルページアプリケーション)

SPAは、ReactやVueなどのフレームワークで作られた、ページ全体を再読み込みせずに画面を切り替えるタイプのサイトです。リンクを押しても見た目は別ページに移ったように見えますが、ブラウザは新しいHTMLを取りに行っていません。フォーム送信後の「完了画面」も、ページ遷移ではなく画面内の表示切り替えで実現されることが多く、URLが変わらない(あるいはJavaScriptで擬似的にだけ変わる)ことがあります。

2-2. Ajax送信(非同期送信)のフォーム

Ajax送信とは、ページを再読み込みせずに、裏側でデータだけをサーバーへ送る仕組みです。ユーザーが送信ボタンを押すと、画面はそのままで送信処理が走り、成功すると同じページ内に「送信が完了しました」というメッセージが差し込まれます。WordPressの問い合わせプラグインなど、身近なフォームでも広く使われている方式です。この場合もURLは変わりません。

2-3. 外部フォームツールの埋め込み(iframe)

Googleフォームや各種フォーム作成サービス(フォームASP)を、自社サイトに埋め込み(多くはiframe)で設置しているケースです。フォーム本体は別ドメインのツール側にあり、それを自社ページの中に枠として表示しています。送信完了の表示はツール側の画面で行われ、親ページのURLは変わりません。さらに後述するように、別ドメインのiframeはセキュリティ上の制約で親ページから中身を直接触れないことが多く、計測の難易度が一段上がります。

まず自分のフォームのタイプを確認しましょう。送信後に「URLバーのアドレスが変わるか」「ブラウザの戻る・進むの挙動」「フォームが自社ドメイン内か、別ドメインの埋め込みか」をチェックするだけで、おおよそどのパターンかが見えてきます。タイプによって取れる手法・難易度が変わるため、いきなり実装に入る前に、この“現状把握”を必ず行ってください。判断に迷う場合は、サイトを制作した会社や開発者に「このフォームはAjax送信ですか?外部ツールの埋め込みですか?」と一言確認するのが確実です。

03 【結論先出し】URL遷移なしでもCVは計測できる

先に結論をお伝えします。サンクスページのURLが変わらなくても、コンバージョンは計測できます。必要なのは、計測の“軸足”を「どのURLに到達したか」から「どんな出来事(イベント)が起きたか」へ移すことです。これをイベントベース計測と呼びます。

発想の転換:「サンクスページに到達したらCV」ではなく、「送信完了という“出来事”を検知したらCV」。送信完了を知る手がかりは、URLの変化以外にもたくさんあります——ボタンが押された、フォームの送信イベントが起きた、完了メッセージの要素が画面に現れた、URLにアンカーが付いた、フォームツールから通知が飛んできた、など。これらの“出来事”をトリガー(きっかけ)にしてコンバージョンを記録すればよいのです。

そして、このイベントベース計測を初心者でも比較的扱いやすくしてくれるのがGTM(Googleタグマネージャー)です。GTMは、サイトに1つの管理タグを入れておけば、あとは管理画面の操作で「こういう出来事が起きたら、このタグを発火させる」という設定を、サイトのコードを直接いじらずに組み立てられるツールです。「クリックされたら」「フォームが送信されたら」「特定の要素が表示されたら」といった多彩なトリガーが標準で用意されているため、URLが変わらないフォームの計測と非常に相性が良いのです。

Q. サンクスページのURLが無いと言われました。広告のコンバージョン計測はもう諦めるしかないですか?
A.
諦める必要はまったくありません。サンクスページのURLは「送信完了を知るための一手段」にすぎず、それが無くても送信完了という出来事を別の方法で検知できれば計測できます。多くの場合、GTMで「フォーム送信イベント」や「完了メッセージ要素の表示」をトリガーにすればOKです。本記事ではこの後、精度と難易度の異なる5つの方法を順番に紹介します。まずは精度の高い『サンクス要素の表示検知』や『フォーム送信イベント』が使えないかを検討し、難しければクリック計測を暫定策にする、という優先順位で考えると失敗しにくいです。

本記事では、この後に紹介する4つの主要な方法(クリック/フォーム送信/要素の表示検知/URLパラメータ・仮想PV)と、外部ツール向けのwebhook計測を、精度(正確さ)と難易度(実装しやすさ)の両面から比較していきます。すべてを完璧にやる必要はありません。自分のフォームのタイプに合った、いちばん正確で現実的な方法を1つ選ぶのがゴールです。

04 方法1:ボタンクリックトリガーで計測する

最も手軽で、初心者が最初に試しやすいのが「送信ボタンがクリックされたこと」をトリガーにする方法です。GTMには「クリック」トリガーが標準で用意されており、特定のボタン(クラス名やIDで指定)が押されたときにコンバージョンタグを発火させられます。

4-1. GTMのクリックトリガーの基本

大まかな流れは次のとおりです。GTMでクリック関連の組み込み変数(Click ID、Click Classesなど)を有効にし、プレビューモードで実際に送信ボタンを押して、そのボタンがどんなID・クラスで識別できるかを確認します。次に「クリック - すべての要素」トリガーを作り、「Click Classes が submit-button を含む」のような条件で、対象の送信ボタンだけに絞り込みます。最後に、そのトリガーでGA4イベントタグやGoogle広告のコンバージョンタグを発火させれば設定完了です。

4-2. クリック計測の最大の弱点:送信失敗でも発火する

クリック計測には見過ごせない弱点があります。それは、ボタンを押した瞬間に発火するため、実際には送信が成功していなくてもカウントされてしまうことです。必須項目が未入力でエラーになった、入力形式が間違って弾かれた、ユーザーが二度押しした——こうしたケースでもクリックは発生するため、コンバージョンを実際より多く(水増しして)計測してしまいます。

注意:クリック計測は「送信ボタンが押された」ことしか分かりません。「送信が成功した」ことは保証されないのです。水増しされたコンバージョンをもとに広告の自動入札を回すと、アルゴリズムが誤ったデータで学習し、成果が悪化する恐れもあります。クリック計測はあくまで“暫定策・簡易策”と位置づけ、可能であれば次章以降のより正確な方法(フォーム送信イベントや要素の表示検知)への移行を検討してください。

4-3. それでもクリック計測が役立つ場面

  • とにかく早く何か計測を始めたいとき:実装が最も簡単で、暫定的に数字を見られるようにできる。
  • 送信失敗がほとんど起きない単純なフォーム:入力項目が少なくエラーが出にくいフォームでは、誤差が小さく済むこともある。
  • 他の方法がどうしても使えない構成のとき:後述の手法が技術的に難しい場合の最終手段として。

いずれにせよ、クリック計測を採用する場合は「数字が実際より多めに出ている可能性がある」ことを前提に解釈し、フォームツール側の受信件数と定期的に突き合わせて差分を把握しておくことをおすすめします。

05 方法2:フォーム送信トリガー(GA4のform_submit)

クリックよりも一歩正確なのが、「フォームが送信された」というイベントそのものをトリガーにする方法です。HTMLのフォームには本来「送信(submit)」というイベントが備わっており、これを検知できれば、ボタンを押しただけでなく実際に送信処理が走ったことに近い形で計測できます。

5-1. GTMのフォーム送信トリガー

GTMには「フォームの送信」という専用トリガーがあります。これを有効にすると、ページ上のフォームがsubmitされたタイミングを検知できます。標準的な作りのHTMLフォームであれば、このトリガーで送信を捉えてコンバージョンタグを発火させられます。クリック計測と違い、原則として「送信が実行された」ことに反応するため、誤計測(押しただけ・失敗)が起きにくいのが利点です。

5-2. GA4の自動イベント(form_start/form_submit)

GA4には「拡張計測機能」という仕組みがあり、設定をオンにしておくと、フォーム操作を自動でイベント収集してくれます。代表的なのが、フォームへの入力を始めたときの form_start と、送信したときの form_submit です。これらが取れていれば、GTMで複雑な設定をしなくても、GA4側でフォーム送信を把握できる場合があります。

ただし「必ず取れる」わけではありません。GTMのフォーム送信トリガーもGA4の自動 form_submit も、すべてのフォームで確実に発火するとは限らない点に注意してください。JavaScriptで独自に送信処理を制御しているフォーム、Ajax送信、SPA、外部ツールの埋め込みなどでは、標準的なsubmitイベントが発生せず、トリガーが反応しないことがあります。そのため、「設定したら必ず実機テストで発火を確認する」ことが必須です。発火しない場合は、次章の「サンクス要素の表示検知」に切り替えるのが定石です。

5-3. 対応可否の見極め方

  • GTMプレビューやGA4のDebugViewで、実際に送信したときに form_submit(または送信トリガー)が記録されるかを確認する。
  • 記録されるなら、その方法で計測してOK。記録されないなら、フォームがsubmitイベントを使っていない可能性が高い。
  • 取れない場合は深追いせず、方法3(要素の表示検知)へ早めに切り替えるのが実務的に効率が良い。

06 方法3:サンクス要素の表示検知(DOM変化)

URLが変わらないフォームにおいて、最も“正確に近い”計測ができると言えるのがこの方法です。送信が完了すると、ページ内に「送信が完了しました」「お問い合わせありがとうございました」といった完了メッセージ(サンクス要素)が表示されます。この要素が画面に現れたことを検知して発火させれば、「実際に送信が成功したから完了表示が出た」という、確からしい証拠をもとに計測できます。

6-1. なぜクリックより正確なのか

クリック計測は「ボタンを押した」段階で発火するため、送信失敗でもカウントされてしまいました。一方、サンクス要素の表示検知は、送信処理が成功して初めて表示される完了メッセージをきっかけにします。つまり、入力エラーで送信できなかった場合は完了表示が出ないので発火せず、誤計測(水増し)が起きにくいのです。サンクスページのURLが無くても、「完了表示が出た=送信完了」という、本来サンクスページが担っていた役割を要素の表示で代替できる、と考えると分かりやすいでしょう。

6-2. GTMの「要素の表示」トリガー

GTMには「要素の表示」というトリガーがあります。これは、指定したセレクタ(id や class)に一致する要素が画面に表示されたタイミングを検知するものです。完了メッセージのブロックに付いているIDやクラス(例:id="form-thanks"class="form-complete-message" など)を指定しておけば、その要素が表示された瞬間にコンバージョンタグを発火させられます。

大まかな手順は、(1)送信後に表示される完了メッセージ要素のセレクタを開発者ツール(要素の検証)で調べる、(2)GTMで「要素の表示」トリガーを作り、そのセレクタを指定する、(3)「1ページにつき1回」など発火回数の条件を整える、(4)そのトリガーでコンバージョンタグを発火させる、という流れです。

6-3. 注意点:セレクタの管理とサイト改修

この方法の弱点は「完了要素のセレクタに依存する」ことです。サイトをリニューアルしたり、フォームのデザインを変更したりして、完了メッセージのID・クラス名が変わると、トリガーが反応しなくなり計測が静かに止まる恐れがあります。対策として、(1)できるだけ変わりにくい安定したIDをセレクタに使う、(2)完了要素に計測専用のIDを付けてもらえるよう開発者に依頼する、(3)サイト改修のたびに計測が生きているか必ず再テストする、を徹底してください。また、完了メッセージが最初から(非表示で)DOMに存在し、CSSで切り替えているだけの場合は、「要素の表示」が意図通りに反応しないことがあるため、その点も実機で確認が必要です。

おすすめの優先順位:URLが変わらないフォームでは、まず「サンクス要素の表示検知」または「フォーム送信イベント」が使えないかを最優先で検討し、どちらも難しい場合の暫定策として「クリック計測」を使う、という順序が失敗しにくいです。精度の高い方法から試し、ダメなら段階的に簡易な方法へ下りていく、という考え方を持っておきましょう。

07 方法4:URLパラメータ・アンカー・仮想ページビュー

「URLが変わらない」と思っていても、よく見ると送信完了時にURLへわずかな変化が付くフォームがあります。たとえば送信後に #thanks#thankyou といったアンカー(ページ内リンクの目印)が付いたり、?submitted=1 のようなクエリパラメータが追加されたりするケースです。この“小さな変化”は、計測にとって大きなチャンスになります。

7-1. 送信後にURLが少しでも変化しないか確認する

完全なページ遷移(別URLへの移動)でなくても、アンカーやパラメータが付くだけで、それを送信完了の合図として使えます。まずは実際に自分のフォームを送信し、URLバーの末尾に #? から始まる文字列が付かないかをよく観察してみてください。付くのであれば、比較的シンプルに計測を組めます。

7-2. 仮想ページビュー(バーチャルPV)という考え方

仮想ページビューとは、実際にはページ遷移していないけれど、「ここで1ページ表示されたことにする」と擬似的に扱う計測のことです。SPAやAjaxフォームで、送信完了時にアンカーやパラメータが付く場合、その変化を検知して「/contact/thanks という仮想的なページが表示された」とGA4のイベントとして送る、といった具合です。これにより、サンクスページが本当は無くても、ページ到達ベースに近い形でコンバージョンを記録できます。

7-3. GTMでの実装イメージ

SPAなどでURL(特にアンカー部分)がJavaScriptで切り替わる場合は、GTMの「履歴の変更(History Change)」トリガーが役立ちます。これはブラウザの履歴(URL)が変化したことを検知するもので、#thanks が付いたタイミングを捉えてGA4イベントを発火させられます。クエリパラメータが付与される場合は、URLにそのパラメータが含まれることを条件にトリガーを組みます。いずれも、検知した変化をGA4のコンバージョン用イベント(仮想PVや任意のイベント)に変換するのがゴールです。

注意:アンカーやパラメータが付くかどうかはフォームの実装次第で、付かないフォームも多くあります。また、ユーザーがブックマークやリロードで #thanks 付きURLを再訪したときに二重で発火しないよう、発火条件(1セッション1回など)の調整も必要です。実装後は、正常送信時に発火し、無関係なページ表示では発火しないことを実機で確認してください。

08 外部フォームツール(iframe)の注意とwebhook計測

ここまでの方法は、基本的にフォームが自社サイト内(同一ドメイン)にあることを前提にしてきました。やや厄介なのが、Googleフォームや各種フォームASPをiframeで埋め込んでいるケースです。別ドメインのフォームを枠として埋め込んでいる場合、計測の考え方が変わります。

8-1. なぜiframe(別ドメイン埋め込み)は難しいのか

ブラウザには同一オリジンポリシーというセキュリティ上の制約があり、別ドメインのiframeの中身を、親ページのスクリプト(GTMを含む)から直接読み取ったり操作したりできないのが原則です。そのため、iframe内でボタンが押された・完了メッセージが出たといった出来事を、親ページのGTMから直接検知することが基本的にできません。「クリック計測も要素の表示検知も効かない」のは、多くの場合このためです。

8-2. 外部ツール埋め込み時の主な対処法

  • ツール側のコンバージョン連携機能を使う:多くのフォームツールは、Google広告やGA4と連携する機能、もしくは送信完了時にタグを発火させる設定を備えています。まずは利用中ツールの公式ドキュメントで「コンバージョン計測」「GTM連携」の項目を確認しましょう。
  • 送信完了の通知(postMessage等)を使う:ツールによっては、送信完了時に親ページへ postMessage で通知を送ったり、親ページのデータレイヤーへイベントを渡せるものがあります。これを受け取ってGTMでコンバージョンを発火させます。
  • 送信完了後に親ページへ遷移させる:ツール設定で「送信後に指定URLへリダイレクト」できる場合、自社ドメインのサンクスページへ飛ばすことで、従来のページ到達ベース計測に持ち込めることがあります。
  • webhook(サーバー連携)を使う:上記が難しい場合の有力な手段。次項で解説します。

8-3. webhookによるサーバーサイド計測

webhookとは、フォーム送信が完了したときに、フォームツールやサーバーがあらかじめ指定したURLへ通知(HTTPリクエスト)を送る仕組みです。この通知を自社サーバー側で受け取り、たとえばGA4のMeasurement Protocolなどを使ってサーバーサイドからコンバージョンを記録します。ブラウザ側で検知できない場合でも、「送信が完了した」という確かなサーバー側の事実をもとに計測できるため、確実性が高いのが特長です。

手法 精度(正確さ) 難易度 主な向き先
方法1:ボタンクリック低(送信失敗でも発火)易しい暫定策/他が使えないとき
方法2:フォーム送信イベント中〜高(取れれば正確)易〜普通標準的なHTMLフォーム
方法3:サンクス要素の表示検知高(最も正確に近い)普通Ajax・SPAで完了表示が出る
方法4:URLパラメータ・仮想PV中〜高(変化が付く場合)普通送信後に #thanks 等が付く
webhook(サーバー連携)高(確実性が高い)難しい(開発知識)iframe・外部ツールで取れない

※ 精度・難易度はあくまで一般的な傾向の目安です。フォームの実装やツールの仕様によって変わります。2026年6月時点。

webhookは確実性が高い反面、ハードルも高めです。サーバーやAPIの知識が必要で、初心者だけで完結させるのは難しいことが多いです。実務的には、まずGTMでのブラウザ計測(方法1〜4)を試し、それで取れないツール構成のときに、開発者やツールのサポートと連携してwebhook計測を検討するという順序が現実的です。いきなりwebhookに飛びつかず、簡単な方法から潰していきましょう。

09 計測実装の手順とテスト方法

手法を選んだら、実装とテストです。「設定したつもりが実は取れていなかった」というのは計測でいちばん怖い事故なので、必ず実機でテストしてから本番運用に入りましょう。ここではGTMでの実装を前提に、ロードマップとして手順を整理します。

1
フォームのタイプを把握する
2
手法を1つ選ぶ(精度の高い順に検討)
3
GTMでトリガー・タグを作る
4
プレビュー&実送信でテスト

9-1. 実装ロードマップ

  • STEP1:現状把握。送信後にURLが変わるか/#やパラメータが付くか、フォームは自社内か外部埋め込みか、完了メッセージのセレクタは何かを確認する。
  • STEP2:手法の選定。「要素の表示検知」「フォーム送信イベント」を優先し、難しければURLパラメータ活用、最後の手段としてクリック計測やwebhookを検討する。
  • STEP3:GTM設定。選んだトリガーを作成し、GA4イベントタグやGoogle広告のコンバージョンタグを紐づける。発火回数(1ページ1回など)も設定する。
  • STEP4:テスト。プレビューと実送信で発火を確認する(下記)。
  • STEP5:公開と運用監視。公開後も件数を監視し、フォームツール側の受信数と突き合わせる。

9-2. テストのチェックリスト

  • GTMプレビュー(Tag Assistant):意図したトリガーが発火し、タグが正しく動くかを確認する。
  • GA4のDebugView/リアルタイム:送信時に該当イベントがGA4へ届いているかを確認する。
  • 正常送信テスト:実際にフォームを正しく送信して、1件カウントされるかを確認する。
  • エラー送信テスト:わざと必須項目を空にして送信し、送信失敗時に発火“しない”ことを確認する(特にクリック計測を使う場合は重要)。
  • 重複チェック:リロードや戻る・進む操作で二重に発火しないかを確認する。
  • 件数の突き合わせ:数日運用し、フォームツール側の受信件数とコンバージョン数の桁が大きくズレていないかを確認する。

細かい設定画面の操作手順や項目名は、GTM・GA4・各広告媒体のアップデートで変わることがあります。最新の正確な操作は、必ず各ツールの公式ヘルプを参照しながら進めてください。本記事は2026年6月時点の一般的な考え方・手順の目安です。

計測の精度は、その先の運用すべてに効きます。正確に取れたコンバージョンデータは、広告の自動入札や拡張コンバージョンといった機械学習の“燃料”になります。逆に、水増しや取りこぼしのあるデータで運用すると、アルゴリズムが誤った方向に学習し、成果が伸び悩みます。計測〜入札の関係はROAS・CPA改善の完全ガイドでも触れています。

10 URL遷移なし計測でよくある失敗

最後に、URLが変わらないフォームの計測で頻発する失敗パターンを整理します。多くは「方法選びのミス」や「テスト不足」から生じます。事前に知っておけば回避できるものばかりです。

① ボタンクリック=CVにしてコンバージョンを水増しする

最も多い失敗です。クリック計測は送信失敗でも発火するため、実際の送信完了件数より多くカウントされがちです。水増しされた数字を信じて入札を回すと、機械学習が誤ったデータで最適化されます。可能ならサンクス要素の表示検知やフォーム送信イベントへ切り替え、クリック計測を使うなら受信件数との差分を必ず把握しましょう。

② iframe(別ドメイン埋め込み)の中を取ろうとして取れない

外部フォームツールをiframeで埋め込んでいるのに、親ページのGTMでクリックや要素の表示を取ろうとしてまったく発火しないパターンです。同一オリジンポリシーの制約が原因。ツール側の連携機能・postMessage・リダイレクト・webhookのいずれかに切り替える必要があります。まず利用ツールの公式ドキュメントを確認しましょう。

③ リロード・戻る進みで重複計測する

#thanks付きURLや完了表示を、ユーザーがリロードや戻る・進む操作で再度表示したときに二重・三重にカウントしてしまう失敗です。トリガーの発火条件を「1ページ(1セッション)につき1回」などに設定し、重複を抑制してください。実装後のテストで戻る・進み・リロードを必ず試しましょう。

④ サイト改修で完了要素のセレクタが変わり、計測が静かに止まる

「要素の表示検知」やクリック計測は、ID・クラス(セレクタ)に依存します。リニューアルやデザイン変更でセレクタが変わると計測が止まるのに、エラーも出ないため気づきにくいのが厄介です。改修のたびに再テストする運用ルールを設け、可能なら計測専用の安定したIDを要素に付けてもらいましょう。

⑤ テストせずに公開し、長期間ゼロのまま放置する

設定だけして実機テストをせず、実は一度も発火していなかったという事故です。コンバージョンが不自然に0件・極端に少ない場合は要注意。公開前にGTMプレビューとGA4 DebugView、実送信テストを必ず行い、公開後も件数を監視してください。

⑥ 計測は直したが拡張コンバージョンなど次の打ち手を未設定

URLが変わらない問題を解決して計測が取れるようになっても、そこで止まってしまう失敗です。正確な計測が取れたら、その先で拡張コンバージョンなどの精度向上施策につなげることで、計測データを広告運用の成果に変えられます。詳しくはGoogle広告の拡張コンバージョンを参照してください。

11 URL遷移なしCV計測に関するQ&A

Q1. サンクスページのURLが変わらないと、そもそもコンバージョンは計測できないのですか?
A.
計測できます。従来は「サンクスページ到達=CV」というページ到達ベースが主流でしたが、URLが変わらない場合でも、ボタンクリック・フォーム送信イベント・サンクス要素の表示検知・URLパラメータ/アンカー・webhookといったイベントベースの計測に切り替えれば計測できます。GTMを使うと実装しやすいのが2026年6月時点の一般的なやり方です。
Q2. URLが変わらないのは、どんなフォームで起こりますか?
A.
主にSPA(シングルページアプリ)・Ajax送信のフォーム・外部フォームツールの埋め込みで起こりやすいです。これらはページ遷移せず同一画面内で完了表示を出すため、URLが変わらず、ページ到達ベースの計測ができません。まずは自社フォームがどのタイプかを確認するのが第一歩です。
Q3. 送信ボタンのクリックをコンバージョンにしてもよいですか?
A.
手軽ですが注意が必要です。クリックを計測すると、入力エラーで送信が失敗したケースでも発火し、CVを水増ししてしまうリスクがあります。暫定策としては使えますが、可能ならフォーム送信イベントやサンクス要素の表示検知など、実際に送信が完了したことをより正確に捉えられる方法を優先しましょう。
Q4. GA4のform_submitイベントを使えば自動でコンバージョンが取れますか?
A.
条件が合えば取れる場合があります。GA4の拡張計測機能はフォーム操作(form_start/form_submit)を自動収集しますが、すべてのフォームで確実に発火するわけではありません。JavaScriptで独自制御するフォームや一部の外部ツールでは取れないことがあります。GA4のリアルタイム/DebugViewで実機確認し、取れなければGTMで補完しましょう。
Q5. サンクス要素の表示検知とは何ですか?なぜ正確に近いのですか?
A.
送信後にページ内へ表示される「送信が完了しました」などの完了メッセージ要素が画面に現れたことを検知して発火させる方法です。GTMの「要素の表示」トリガーを使います。完了表示が出た=送信成功と判断できるため、ボタンクリックより誤計測が起きにくく正確に近いです。ただし完了要素のセレクタを正しく指定する必要があり、サイト改修で要素が変わると計測が止まる点に注意です。
Q6. 送信後にURLへ #thanks のようなアンカーやパラメータが付く場合はどうしますか?
A.
それは計測のチャンスです。完全なページ遷移でなくても、#thanks や ?submitted=1 が付くなら、その変化をトリガーにできます。GTMの履歴変更(History Change)トリガーやURL条件で「仮想ページビュー」としてGA4イベントに変換すれば、ページ到達に近い形で計測できます。まず送信後にURLが少しでも変化しないか確認しましょう。
Q7. 外部フォームツールを埋め込んでいる(iframe)場合、計測できますか?
A.
別ドメインのiframe埋め込みは、同一オリジンポリシーの制約で親ページのGTMから中身を直接検知できないことが多く難易度が上がります。対処は、(1)ツール側のコンバージョン連携機能、(2)postMessage等での親ページ通知、(3)送信完了時のwebhookでサーバーサイド計測、など。ツールごとに対応が異なるため、まず利用ツールの公式ドキュメントを確認してください。
Q8. webhookによる計測とは何ですか?初心者でもできますか?
A.
webhookは、送信完了時にフォームツールやサーバーが指定先へ通知(HTTPリクエスト)を送る仕組みです。これを受け取り、Measurement Protocol等でサーバーサイドからCVを記録します。確実性は高い反面、サーバーやAPIの知識が必要で初心者だけで完結するのは難しめ。まずGTMのブラウザ計測を試し、取れない構成のときに開発者と連携して検討するのが現実的です。
Q9. クリック計測にしたらコンバージョン数が実際より多くなりました。なぜですか?
A.
送信ボタンのクリックをCVにしていると、送信できなかったクリックや二度押しまで数えてしまい、実際の送信完了件数より多くなりがちです。対策は、(1)実際の送信完了(サンクス要素の表示やフォーム送信イベント)を計測対象に変える、(2)重複発火を抑える、(3)管理画面の数値とフォームツール側の受信件数を突き合わせる、です。
Q10. 実装したあと、正しく計測できているかはどう確認すればよいですか?
A.
必ず実機テストをします。目安は、(1)GTMプレビュー(Tag Assistant)でタグ・トリガーの発火を確認、(2)GA4のDebugView/リアルタイムでイベント到達を確認、(3)正常送信でカウントされるか確認、(4)わざとエラーを起こし送信失敗時に発火しないか確認、(5)数日運用してフォームツール側の受信件数と大きくズレないか突き合わせ、です。改修のたびに再確認しましょう。

12 まとめ:ページ到達からイベントへ、計測の発想を切り替える

本記事では、サンクスページのURLが変わらない(URL遷移しない)場合のコンバージョン計測方法を、初心者向けに核心から解説しました。要点は「ページ到達ベース」から「イベントベース」へ発想を切り替えること、そしてGTMを活用することです。最後に、押さえておきたいポイントを整理します。

  • URLが変わらなくてもCVは計測できる。サンクスページのURLは「送信完了を知る一手段」にすぎず、別の方法で送信完了という出来事を検知すればよい。
  • URLが変わらないのは主にSPA・Ajax送信・外部フォームの埋め込み。まず自社フォームのタイプを把握する。
  • 手法は5つ。①ボタンクリック ②フォーム送信イベント(GA4 form_submit)③サンクス要素の表示検知 ④URLパラメータ・仮想PV ⑤webhook
  • 精度の高い「サンクス要素の表示検知」や「フォーム送信イベント」を優先し、難しければURLパラメータ、暫定策としてクリック計測、外部ツールで取れなければwebhook、という順で検討する。
  • クリック計測は水増しに注意。送信失敗でも発火するため、可能なら送信完了をきっかけにする方法へ。
  • 実装したら必ず実機テスト。正常送信・エラー送信・重複・件数突き合わせまで確認する。

計測は地味な工程に見えますが、広告運用のすべての判断はここで取れた数字の上に成り立っています。「サンクスページのURLが無いから計測できない」と諦めてしまうと、本来取れていたはずのコンバージョンが見えず、広告の良し悪しを正しく判断できなくなります。逆に、URLが変わらないフォームでも正確に計測できるようになれば、その数字は自動入札や拡張コンバージョンといった機械学習の精度向上にもつながります。まずは自分のフォームのタイプを確認し、精度の高い手法から1つ、テストしながら実装してみてください。

あわせて読むと理解が深まる関連記事:「Google広告の拡張コンバージョン」「ROAS・CPA改善の完全ガイド」「Google広告の機械学習の仕組み」「広告代理店とは?仕組み・種類・収益モデル」も参考にしてください。

コンバージョン計測・タグ設定のご相談は、横浜の独立系代理店「でもやるんだよ」へ

「URLが変わらないフォームで計測できているか不安」——そんな計測まわりの設計から、GTM実装・拡張コンバージョン・広告運用まで一気通貫で対応。料金体系も完全公開(直接契約20%/代理店協業10%)。正確な計測を土台に成果を伸ばします。

無料相談を申し込む