Blog
HubSpotフォームの事前入力|URLパラメータ設定の手順と注意点
セミナー申込フォームやメール経由のリンクで、「氏名や会社名くらいこちらで分かっているのに、わざわざ入力させてしまっている」——そう感じたことはないでしょうか。HubSpotのフォームは、URLにクエリパラメータを付けるだけでフィールドに初期値を入れられます。ただしキーに指定するのは表示ラベルではなく「内部名」であり、ここを間違えると動きません。
本ブログでは内部名の調べ方、値の書式ルール、隠しフィールドでの流入経路の記録、値が入らないときの確認手順をまとめます。公式で確認できている範囲とできていない論点も区別してお伝えします。
HubSpotフォームはURLパラメータで初期値を入れられる(結論と仕組み)
HubSpotのフォームはURLにクエリパラメータを付けることで、対応するフィールドに初期値を入れられます。フィールドの「内部名」をキーに値を付与するだけです。次のようなURLでは、氏名や会社名の欄があらかじめ入力された状態でフォームが表示されます。
https://example.com/seminar?firstname=John&company=Example%20Inc・氏名(firstname)にJohn
・会社名(company)にExample(スペース)Inc
%20は半角スペース、複数のプロパティに値を渡すときは&でつなぎます。日本語や記号を値に含める場合はそのままでは正しく渡らないことがあるため、URLエンコードが必要です(詳しくは後述)。
パラメータ名には「内部名」を指定する
つまずきの多くは、ここから始まります。URLパラメータのキーには、フォーム画面に表示されているラベル(たとえば「会社名」)ではなく、プロパティ設定で確認できる「内部名(internal name)」を指定する必要があります。内部名は、設定メニュー>「プロパティ」>対象プロパティをクリック>詳細画面の「内部名」をコピー、という手順で確認できます。

よくある失敗は、フォームエディタに表示された日本語のラベルをそのままキーにしてしまうケースです。この場合、パラメータを付けても値は反映されません。値が入らないと感じたら、まずこの指定ミスを疑ってください。プロパティ設定で他にもつまずきやすい点は、複数行プロパティの改行が潰れるときの対処法もご参照ください。
値の書式ルールと日本語・記号を渡すときの注意
URLパラメータで値を渡す際には、フィールドの種類ごとに書式のルールがあります。
- 単一チェックボックス:
true/falseを指定(yes/noは不可)。 - 日付:
YYYY-MM-DD形式。 - 複数選択(チェックボックス):
;区切りで並べ、値はプロパティの選択肢文字列と完全一致させる。 - スペースを含む値:
%20でエンコード(公式ドキュメントに明記されている書き方)。
日本語や記号を含む値も、基本的にはそのまま指定して動作します。とはいえ公式ドキュメントで日本語のような文字の扱いに触れられているわけではないため、環境によっては期待どおりに入らないこともあります。その場合は、一般的な作法としてencodeURIComponentなどのURLエンコード処理を通してみてください。
事前入力とURLパラメータ、Cookie自動入力との違い
「事前入力」という言葉は複数の仕組みを指すため、混同しやすいポイントです。
本記事で扱ってきたURLパラメータによる事前入力は、初めて訪れた読者でも、パラメータ付きのURLさえ踏めば値が入る仕組みで、メール配信やCTAリンクなど、リンク先を自分でコントロールできる場面で活躍します。
これに対し、既知のコンタクト(Cookie等で識別済みの訪問者)向けの自動事前入力は別の仕組みで、フィールド種類によっては隠しフィールドの値が過去の値で上書きされることがあります。
さらに別の方式が、パーソナライズトークンを使った「動的クエリ文字列」です。コンタクトの既知情報をトークンでURL化する仕組みで、HubSpotホストのページ上のフォームでのみ動作し、外部埋め込みのスタンドアロンフォームでは機能しないと公式に明記されています。この制約は動的クエリ文字列方式のものであり、Cookieによる事前入力にも同じ制約があるとは確認されていません。両者の優先関係も複数の公式記事で明確な記述はされていません。
非表示フィールドで流入経路・キャンペーンIDを記録する
URLパラメータ事前入力の実務的な活用先として代表的なのが、非表示フィールドとの組み合わせです。入力画面には表示せず、裏側で特定の値をコンタクトのプロパティとして記録できます。
たとえばcampaign_idという内部名のカスタムプロパティを用意し、?campaign_id=セミナー2026というURLでフォームに誘導すると、その値が非表示フィールド経由でプロパティに記録されます。設定は、フォーム編集画面>対象フィールドの編集アイコン>「非表示フィールド」トグルON>「デフォルト値」に内部名に対応する値を指定、という流れです。

「必須」がオンのフィールドは非表示フィールドに設定できないため、必須項目を非表示フィールド化する場合はあらかじめ必須設定を外します。また「UTMパラメータをURLに付ければ自動でプロパティに記録される」という誤解もありますが誤りで、必ずカスタムプロパティを作成し非表示フィールドとして設置しておく設計が別途必要となります。
実践レシピ2つ
レシピ1: メール配信のCTAリンクで入力項目を減らす
配信メール内のCTAリンクにURLパラメータを付与しておけば、クリック時点で該当欄が埋まった状態でフォームが開きます。受信者ごとに値を変えたい場合はパーソナライズトークンによる動的クエリ文字列が使えますが、HubSpotホストのページ上のフォームでのみ動作します。外部サイトに埋め込んだフォームへ誘導する場合はこの方式が使えないため、セミナーコードや流入元コードのように受信者全員に共通する固定値を付与するのが現実的です。
レシピ2: 展示会・複数拠点ごとの流入元を非表示フィールドで記録する
展示会や広告媒体、拠点・ブランドごとに異なるコードをURLパラメータとして渡し、隠しフィールドで専用のカスタムプロパティに格納します。1つのフォームを複数の流入元・拠点で共用しつつ申込元を区別できます。拠点やブランドが複数ある場合はマルチブランド運用で失敗しないための5つの注意点もご参照ください。
値が入らないときに確認すべきこと
設定したはずのパラメータが反映されないときは、次の順番で確認してください。
- 内部名の指定ミス: 表示ラベルをキーに使っていないか(最も多い原因)。
- 書式ルール: チェックボックスは
true/false、日付はYYYY-MM-DD、複数選択は;区切りか。 - 依存フィールド: 条件分岐で表示が切り替わる項目はクエリ文字列に非対応。
- 外部埋め込みの場合のトラッキングコード: フォームの埋め込みコードとは別に、そのページにHubSpotのトラッキングコードが必要。
「必須項目との組み合わせで起きる不具合」「キャッシュが原因で反映されない」という説明も見かけますが、上記4点で解消しない場合はHubSpotサポートへの確認をおすすめします。
セキュリティ・データ品質の注意
URLに含まれる値は閲覧者側で自由に書き換え可能です。金額や権限レベル、承認ステータスなど信頼性が求められる値をURLパラメータ経由でやり取りするのは避けましょう。隠しフィールドもあくまで初期値を渡す仕組みで、入力内容の正当性を検証する機能ではないため、重要な値はシステム側の検証など別の仕組みで担保します。
まとめ
HubSpotフォームのURLパラメータ事前入力は、フィールドの「内部名」さえ正しく指定できれば、コードを書かずに設定できる仕組みです。フィールドごとの書式ルールを押さえれば、代表的な書式ミスを防ぎやすくなります。一方、Cookieによる事前入力・パーソナライズトークンとの優先関係や新旧エディタの挙動差は公式ドキュメントで明言されておらず、気になる場合はご自身の環境で検証することをおすすめします。
フォーム設計や非表示フィールドのデータ設計、HubSpot全体の運用設計に迷ったときは、ハレフルにご相談ください。
Contact
まずは何でもお気軽にご相談ください。



