Open2
StudioでHubspotフォームを動的に埋め込み、フォーム送信後は完了画面に遷移させたい
モチベーション
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として埋め込む
分かったこと
- 類似事例は見当たらず。
- これを動的にやるってことなのだが...
- このスクラップ記事がGoogle検索上位に来てしまった。てかZennすごい。
- カスタムタグでiframeのフォーム送信完了を追えない
- iframe側にjs仕込めれば可能そうだがHubspotのものなので出来ない。
結論、動的なHubSpotフォームを諦める。その上でどうするか
やりたいこと
- フォーム以外のデザインや要素はCMSから掲載したい。
面倒だが1ページずつフォーム作って、相当するCMSコンテンツを表示するしかなさげ。