Open2

StudioでHubspotフォームを動的に埋め込み、フォーム送信後は完了画面に遷移させたい

miyaponmiyapon

モチベーション

Hubspotフォーム回答完了後に、指定のページに遷移させたい。
これによってGoogleTagManagerで簡単に計測できるようにするため。
ただし、フォームが複数あるためCMSにてHubspotフォームのScriptを管理したい。

困りごと

hubspotを普通に埋め込む限りは、フォーム完了後に指定したページに遷移してくれる。
しかし、hubspotのscript内部にCMSの変数を仕込むと、iframe内部での遷移してしまって、URLが書き換わらない。これだと計測できないので困る。

分かったこと

  • CMS変数を挿入すると、どうやらiframeではなくsandboxとして扱われる。sandboxになるとURLを遷移しない。
  • CMSにscriptタグ全文を記述できない仕様になっている

次に試すこと

  • 同様の事例がないか検索
    • Studioをハックして別ページ開かせる方法あれば御の字
    • DOM経由でカスタムタグにHubspotフォームの変数を渡して、sandboxを埋め込む?引き継ぎ大変なのでできればやりたくない...
  • sandboxのフォーム送信ボタンの押下をJSで取得する方法あるか調べる
    • 可能なら、カスタムタグで処理してリダイレクト
  • 無理ならCMS管理を諦める
    • フォーム部分をデザインエディタでiframeとして埋め込む
miyaponmiyapon

分かったこと

  • 類似事例は見当たらず。
  • カスタムタグでiframeのフォーム送信完了を追えない
    • iframe側にjs仕込めれば可能そうだがHubspotのものなので出来ない。

結論、動的なHubSpotフォームを諦める。その上でどうするか

やりたいこと

  • フォーム以外のデザインや要素はCMSから掲載したい。

面倒だが1ページずつフォーム作って、相当するCMSコンテンツを表示するしかなさげ。