質問&ディスカッション

RyoShirai
参加者

既に入力されたフォームのスキップについて

解決

HubSpotのformには既に入力された値があればオートコンプリートしてくれる機能があります。

しかし、既に入力されているならForm画面にも遷移しなくても良いのではないかと思いました。

一覧→ダウンロード用入力form→ダウンロードリンクというサイトがあった時に、既にユーザーがform送信したことがあれば一覧画面からダウンロードさせることは可能ですか?

2件の承認済みベストアンサー
moeka
解決策
HubSpot Employee
HubSpot Employee

既に入力されたフォームのスキップについて

解決

もしCTA機能が使えるライセンスをお持ちでしたら、スマートCTAを利用されてはいかがでしょうか。
https://knowledge.hubspot.com/ja/ctas/create-smart-calls-to-action-cta


あらかじめ動的リストを作成しておき、過去にフォーム送信されたことがあるという条件にしておきます。

そして、CTAの遷移先を、そのリストに含まれるかどうかで2通り作成すると良いと思います。

このCTAを、一覧ページに配置します。これで、フォームに遷移するか、クリックするとすぐにダウンロードするか2パターンの挙動となります。

ただし、定期的にフォームに入力いただくことによって、お客様情報を最新の状態にアップデートできるというメリットもあります。ケースバイケースでご検討されると良いと思います。

Moeka Asano
Principal Channel Consultant - Japan

元の投稿で解決策を見る

assi
解決策
トップ投稿者 | Diamond Partner
トップ投稿者 | Diamond Partner

既に入力されたフォームのスキップについて

解決

@RyoShirai 

 

スマートCTAの利用が難しい場合の実装についてお答えします。

 

【一覧画面から直接ダウンロードリンクに飛ばす場合】

考え方として、フォームで収集予定のコンタクトプロパティの値が既知かどうかがわかればこれが実現できます。

1番確実なのはコンタクトがCMS Hub Enterpriseの会員機能でログイン済みである事なのですが、ユーザビリティ・プラン的にこれはなかなか難しいかと思います。

 

会員機能を使わない場合は、 {{ contact }} や {{ request_contact }} というHubLの予約変数を使うことによりこれを実現できる余地があります。

これらの変数からコンタクトプロパティの値を取得できますので、HubLにてフォームで収集予定の値が既知であればボタンのhref属性をダウンロードリンクに、そうでなければフォームページに…という具合です。

 

ただし上記予約変数で全てのコンタクトプロパティの値を取得できる訳ではありません。目的のコンタクトプロパティが予約変数に含まれていない場合は、代わりにいったんリストを作成する必要があります。

「どのリストに含まれているか」は{{ request_contact.list_memberships }} で取得できますので、フォームにて収集予定の値が全て既知であるコンタクトの動的リスト(或いは特定のフォーム送信済みの動的リスト)を作成し、この動的リストのIDが{{ request_contact.list_memberships }} に含まれていればフォーム送信済みと見なすことができます。

 

【いったんフォームページを開いたうえでリダイレクトさせる場合】

上記のやり方の他にも、いったんフォームページを開いたうえでリダイレクトさせるパターンも考えられます。

この場合は上記予約変数だけでなく、JavaScriptにてフォームに既に既知の値が入っているかどうかでフォーム送信済みかどうかを判断できます。

注意点としてJavaScriptにてフォーム要素上の値を収集するにはフォームがレンダリングされた後に実行しなければなりませんので、フォームが発行するグローバルイベントを利用します。

https://legacydocs.hubspot.com/global-form-events

 

ただフォームページは1ページ、ダウンロードリンクは複数の場合だとリダイレクト先のURLをフォームページでも保持しなければなりませんので、一覧ページからどのようにそれを持ってくるのは少し考えなければなりませんね…(愚直にURLのクエリ文字列にくっつけてしまうとフォーム未送信のユーザーにも見えてしまうので、ユーザーから見えづらいCookieやLocalStorageなどに格納する必要がありそうです)。

 

 

後者は流れ、実装ともに少し冗長な気がするので、できれば前者で実装できると良さそうです。ご参考までm(_ _)m


CMS Hub NinjaAtsushi Handa
CTO at 100 Inc.
Twitter logo
HubSpot ダイヤモンドパートナー 株式会社100

元の投稿で解決策を見る

5件の返信
KMurota
トップ投稿者 | Solutions Partner
トップ投稿者 | Solutions Partner

既に入力されたフォームのスキップについて

解決

@RyoShirai 
HubSpot上でのソリューションではないのですが、お悩みのポイントにこれが使えるのではと思いましたのでpipedriveマスターパートナーのMer Inc澤口氏の記事を共有させていただきます。

  • DocuSendのSpacesという機能で”複数の資料をまとめてサイト的に表示してくれる
  • 国産のnocoセールスならさらに日本語でのUXを保てる

といった旨です。

https://note.com/merinc/n/n63973cabc118

assi
解決策
トップ投稿者 | Diamond Partner
トップ投稿者 | Diamond Partner

既に入力されたフォームのスキップについて

解決

@RyoShirai 

 

スマートCTAの利用が難しい場合の実装についてお答えします。

 

【一覧画面から直接ダウンロードリンクに飛ばす場合】

考え方として、フォームで収集予定のコンタクトプロパティの値が既知かどうかがわかればこれが実現できます。

1番確実なのはコンタクトがCMS Hub Enterpriseの会員機能でログイン済みである事なのですが、ユーザビリティ・プラン的にこれはなかなか難しいかと思います。

 

会員機能を使わない場合は、 {{ contact }} や {{ request_contact }} というHubLの予約変数を使うことによりこれを実現できる余地があります。

これらの変数からコンタクトプロパティの値を取得できますので、HubLにてフォームで収集予定の値が既知であればボタンのhref属性をダウンロードリンクに、そうでなければフォームページに…という具合です。

 

ただし上記予約変数で全てのコンタクトプロパティの値を取得できる訳ではありません。目的のコンタクトプロパティが予約変数に含まれていない場合は、代わりにいったんリストを作成する必要があります。

「どのリストに含まれているか」は{{ request_contact.list_memberships }} で取得できますので、フォームにて収集予定の値が全て既知であるコンタクトの動的リスト(或いは特定のフォーム送信済みの動的リスト)を作成し、この動的リストのIDが{{ request_contact.list_memberships }} に含まれていればフォーム送信済みと見なすことができます。

 

【いったんフォームページを開いたうえでリダイレクトさせる場合】

上記のやり方の他にも、いったんフォームページを開いたうえでリダイレクトさせるパターンも考えられます。

この場合は上記予約変数だけでなく、JavaScriptにてフォームに既に既知の値が入っているかどうかでフォーム送信済みかどうかを判断できます。

注意点としてJavaScriptにてフォーム要素上の値を収集するにはフォームがレンダリングされた後に実行しなければなりませんので、フォームが発行するグローバルイベントを利用します。

https://legacydocs.hubspot.com/global-form-events

 

ただフォームページは1ページ、ダウンロードリンクは複数の場合だとリダイレクト先のURLをフォームページでも保持しなければなりませんので、一覧ページからどのようにそれを持ってくるのは少し考えなければなりませんね…(愚直にURLのクエリ文字列にくっつけてしまうとフォーム未送信のユーザーにも見えてしまうので、ユーザーから見えづらいCookieやLocalStorageなどに格納する必要がありそうです)。

 

 

後者は流れ、実装ともに少し冗長な気がするので、できれば前者で実装できると良さそうです。ご参考までm(_ _)m


CMS Hub NinjaAtsushi Handa
CTO at 100 Inc.
Twitter logo
HubSpot ダイヤモンドパートナー 株式会社100
moeka
解決策
HubSpot Employee
HubSpot Employee

既に入力されたフォームのスキップについて

解決

もしCTA機能が使えるライセンスをお持ちでしたら、スマートCTAを利用されてはいかがでしょうか。
https://knowledge.hubspot.com/ja/ctas/create-smart-calls-to-action-cta


あらかじめ動的リストを作成しておき、過去にフォーム送信されたことがあるという条件にしておきます。

そして、CTAの遷移先を、そのリストに含まれるかどうかで2通り作成すると良いと思います。

このCTAを、一覧ページに配置します。これで、フォームに遷移するか、クリックするとすぐにダウンロードするか2パターンの挙動となります。

ただし、定期的にフォームに入力いただくことによって、お客様情報を最新の状態にアップデートできるというメリットもあります。ケースバイケースでご検討されると良いと思います。

Moeka Asano
Principal Channel Consultant - Japan
KMurota
トップ投稿者 | Solutions Partner
トップ投稿者 | Solutions Partner

既に入力されたフォームのスキップについて

解決

さすがオフィシャル、目から鱗が落ちました!

KMurota
トップ投稿者 | Solutions Partner
トップ投稿者 | Solutions Partner

既に入力されたフォームのスキップについて

解決

@RyoShirai 

  1. やらんとされていることは、ユーザーを覚えておく、という感じでお買い物の際に会員登録するかしないかのようなマイページ機能のイメージに近い気がします。であればダウンロードするにはサインアップ/登録お願いしますとして、実際にダウンロードできる一覧ページをプライべートコンテンツ化するのも一手かと存じます。
    https://knowledge.hubspot.com/ja/website-pages/require-member-registration-to-access-private-content
    ただしログインを要求するのは資料ダウンロードにしては若干ハードルを高く感じさせてしまう懸念もあるかと存じますので、送信ボタンだけ押してもらう方がよいかとは思いますが。。。
  2. やったことはないのですが、jQueryとJavaScriptを使用すれば自動送信することは可能だと思います。
    ただし、HubSpotのトラッキングコードなどが判定&オートコンプリートされてから、というタイミングを合わせないといけないと思います。