<!-- Source: https://9pic.ai/ja/blog/tally-hidden-fields-cta-query-params/ -->
![抽象的なストライプの背景](/images/stripes.svg)

[ブログ一覧に戻る](/ja/blog/)

![Tallyの隠しフィールド：クエリパラメーター付きCTA（購入、サポート、自動配信向け）](https://bgimg.9pic.ai/images/blog/tally-hidden-fields-cta-query-params.jpg?title=Tally%E3%81%AE%E9%9A%A0%E3%81%97%E3%83%95%E3%82%A3%E3%83%BC%E3%83%AB%E3%83%89%EF%BC%9A%E3%82%AF%E3%82%A8%E3%83%AA%E3%83%91%E3%83%A9%E3%83%A1%E3%83%BC%E3%82%BF%E3%83%BC%E4%BB%98%E3%81%8DCTA&amp;subtitle=Tally%E3%81%AE%E9%9A%A0%E3%81%97%E3%83%95%E3%82%A3%E3%83%BC%E3%83%AB%E3%83%89%E3%81%A8URL%E3%83%91%E3%83%A9%E3%83%A1%E3%83%BC%E3%82%BF%E3%83%BC%E3%81%A7%E3%80%81%E5%A4%96%E9%83%A8%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A0%E3%82%929Pic+AI%E3%81%AECTA%E3%83%9C%E3%82%BF%E3%83%B3%E3%81%AB%E3%81%A4%E3%81%AA%E3%81%92%E3%81%BE%E3%81%99%E3%80%82eventId%2FbibNumber%2Fref%E3%82%92%E5%8F%96%E5%BE%97%E3%81%97%E3%80%81Zapier%E3%81%AE%E8%87%AA%E5%8B%95%E5%8C%96%E3%82%92%E8%B5%B7%E5%8B%95%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%99%E3%80%82&amp;kicker=%E3%82%B3%E3%83%B3%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E3%82%AC%E3%82%A4%E3%83%89&amp;author=9Pic+AI%E3%83%81%E3%83%BC%E3%83%A0&amp;readTime=9%E5%88%86)

**要約**：Tallyフォームを作成し、`eventId`、`bibNumber`、`selfieRequestId`、`ref`という名前の隠しフィールドを追加します。CTAボタンのリンク先をフォームのURLにし、`?eventId=123&bibNumber=456&ref=...`のようなクエリパラメーターを付けます。次に、Tallyを[Zapier](https://tally.so/help/zapier-integration)（ノーコード）または[Webhook](https://tally.so/help/webhooks)（より細かく制御可能）に接続して、リクエストの振り分け、支払いの回収、成果物の配信を行います。

Tallyの隠しフィールドとは（CTAに最適な理由）
--------------------------------------------------------------

Tallyの隠しフィールドは、フォームに追加する非表示のフィールドです。**フォームのURL経由でデータを渡し**、各回答と一緒に保存できます。Tallyのドキュメントによると、エディターで`/hidden`と入力して隠しフィールドを追加し、フィールドに名前（例：`name`、`ref`）を付けてから、次のようなURLパラメーターで値を渡せます：

    https://tally.so/r/FORM_ID?name=Marie&ref=email

Tallyの公式ガイドをご覧ください：[Hidden fields](https://tally.so/help/hidden-fields)。CTAのワークフローでは、次の2点が重要です：

- **隠しフィールドの名前は大文字と小文字を区別します**（URLパラメーターと完全に一致させる必要があります）。
- **最初のパラメーターは`?`で始めます**。2つ目以降のパラメーターに使うのは `&`。


CTAボタンから渡すクエリパラメーター
---------------------------------------------------

目標は、ユーザーに再入力させることなく、チーム（または自動化の仕組み）が正確な状況を特定できる最小限の値を送ることです。イベント写真のCTAで特に役立つパラメーターは次のとおりです：

eventId

ユーザーが閲覧中のイベントまたはギャラリーを示します。

bibNumber

どのランナーのゼッケン番号が検索されたかを示します（レースでの写真検索ワークフロー）。

selfieRequestId

ユーザーがどのセルフィー検索リクエストから来たかを示します（フローでセルフィー検索を使う場合）。

ref

「戻り先」を示す値です（多くはページのURL、またはbase64でエンコードしたURL）。

CTAの分析をしたい場合は、`utm_source`、`utm_medium`、`utm_campaign`などのマーケティング計測用のフィールドも渡せます。

ステップ1：隠しフィールドを受け取るTallyフォームを作成
------------------------------------------------------------------------------

Tallyのフォームエディターで`/hidden`と入力して隠しフィールドを挿入し、フィールドごとに1つのブロックを追加します。各隠しフィールドには、CTAのURLパラメーターと完全に一致する名前を付けます（大文字と小文字は区別されます）。手順全体はTallyのガイドで解説されています：[Hidden fields](https://tally.so/help/hidden-fields)。

9Pic AI形式のCTAにおすすめの隠しフィールド名：

- **`eventId`**
- **`bibNumber`**（任意）
- **`selfieRequestId`**（任意）
- **`ref`**（推奨）
- **`utm_source`、`utm_medium`、`utm_campaign`**（任意）


次に、ユーザーが入力する表示フィールド（例：メールアドレス、電話番号、「ご用件は何ですか？」、パッケージの選択など）を追加します。フォームは短くまとめます。CTAをクリックしたユーザーは目的が明確なので、その意欲を無駄にしないようにします。

ステップ2：隠しフィールドから表示フィールド（メール・名前）を事前入力
-------------------------------------------------------------------------------------------------------

回答者のメールアドレスがすでにわかっている場合があります（ログイン済みの場合や、CRMに登録済みの場合など）。Tallyでは、隠しフィールドを「Default answer」として使い、多くの入力フィールドを**事前入力**できます。公式ドキュメント：[Pre-populate form fields](https://tally.so/help/pre-populate-form-fields)。

Tallyは2つの重要な制限を挙げています。**支払い**ブロックと**ファイルアップロード**ブロックは事前入力できず、隠しフィールドは大文字と小文字を区別します。

### 例：メール入力欄を事前入力する

1. 通常のメール入力フィールド（例：「メールアドレス」）を追加します。
2. `email`という名前の隠しフィールドを追加します。
3. メール入力フィールドで**Default answer**を有効にし、隠しフィールドの`email`を選択します。
4. CTAのURLで`?email=runner@example.com`を渡します。


ステップ3：CTAのURLを作成（クエリパラメーターの例付き）
-------------------------------------------------------------------------------

Tallyフォームを公開したら、フォームのURL（「Share」タブから取得）にパラメーターを付け加えます。最初のパラメーターには`?`を使い、2つ目以降の各パラメーターに使うのは `&`。

### 写真購入のCTA

ユーザーが検索結果を見ていて、写真の購入、請求書の依頼、決済の開始をしたいときに使います。

    https://tally.so/r/FORM_ID?eventId=123&bibNumber=456&ref=BASE64_OR_URLENCODED_VALUE

### セルフィー検索のヘルプCTA

UIにセルフィー検索のフローがあり、どのリクエストが失敗したかをサポート担当がすぐに確認できるようにしたいときに使います。

    https://tally.so/r/FORM_ID?eventId=123&selfieRequestId=abc123&ref=BASE64_OR_URLENCODED_VALUE

### 一般的なヘルプ・お問い合わせのCTA

ゼッケン番号やセルフィーリクエストIDがなくても、`eventId`と`ref`を渡すだけで、対応の振り分けを十分に速められます。

    https://tally.so/r/FORM_ID?eventId=123&ref=BASE64_OR_URLENCODED_VALUE

ヒント：CTAにすでに`ref`パラメーター（例：安全のためにエンコードした現在のページURL）が含まれている場合、Tallyはそれをそのまま隠しフィールドに保存します。`ref`は秘密情報ではなく、「文脈」として扱ってください。

イベント撮影チームのためのCTA活用例
---------------------------------------------------

固定の決済フロー以上の柔軟性を求めるイベントチームが実際に設定している、効果の高いCTAのパターンを紹介します。いずれもTallyフォームと隠しフィールドの組み合わせと相性が良く、ユーザーはすばやく操作でき、バックオフィスに必要な情報もそろいます。

### 1) 写真の購入・支払いリンクのリクエスト

検索結果の横に「写真を購入」のCTAを追加します。フォームでは、メールアドレス、任意で電話番号、希望するパッケージを集めます。隠しフィールドが`eventId`、`bibNumber`または`selfieRequestId`、`ref`を取得するので、チームはやり取りを重ねずに注文を処理できます。[9Pic Checkout](/ja/products/checkout/)を使っている場合は、フォームのパッケージに関する質問を写真の販売オプションに合わせられます。

### 2) 見つからない写真（または誤った検索結果）の報告

「写真が見つかりませんか？」のCTAで、簡単な説明（時間帯、ゼッケンの色、服装）を集め、必要に応じてスクリーンショットのアップロードも受け付けられます。隠しフィールドを使えば、サポートで最も手間のかかる部分、つまりランナーにフローのどこにいたかを説明してもらう作業が不要になります。

### 3) ヘルプにつなぐ（サポートのすばやい振り分け）

ギャラリーのUIに「ヘルプが必要ですか？」のCTAを追加します。送信内容を隠しフィールドの情報付きで、Slack、メール、ヘルプデスクに振り分けます。複数のイベントが同時に進行していて、ユーザーがどのイベントについて問い合わせているかをサポート担当が知る必要がある場合に特に役立ちます。

### 4) 主催者向けのB2Bリード獲得

大会ページやランディングページに「イベントを主催していますか？」のCTAを追加します（例：[マラソン](/marathons/)）。隠しフィールドでキャンペーンの成果を計測し、リードをCRMに振り分けます。

Zapierでワークフローを自動化（決済、配信、通知）
---------------------------------------------------------------------

Tallyには、**新しいフォームの送信**をトリガーとし、数千のアプリと連携できるZapier連携があります。Tallyのドキュメントには、Zapier連携がすべてのTallyユーザーに無料で提供されていることも記載されています：[Zapier integration](https://tally.so/help/zapier-integration)。

顧客がZapier（またはMake、Integrately、Pipedreamなどの類似ツール）で構築している一般的な自動化パターン：

- **支払いリンクのワークフロー**：「写真を購入」の新しい送信 → 請求ツールでStripe Payment Linkまたは請求書を作成 → ランナーにリンクをメールで送信 → 運用チャネルに通知。
- **配信のワークフロー**：送信 → Airtable・Notion・CRMに注文レコードを作成 → 担当者を割り当て → 自動の確認メールを送信 → 処理完了後にダウンロードリンクを配信。
- **サポートのワークフロー**：「ヘルプが必要ですか？」の送信 → `eventId`と`ref`を含むヘルプデスクのチケット（またはSlackメッセージ）を作成 → SLAに基づいて適切なチームに振り分け。


注：TallyのZapierガイドによると、Zapierの無料プランは2ステップのZapに限られます。複数ステップの振り分けが必要な場合は、有料プランを利用するか、Webhookと独自のワークフロー実行環境を組み合わせる必要があります。

Webhookを使うべき場合（Zapier・Makeとの比較）
-----------------------------------------------------------

完全に制御したい場合、TallyはWebhookを通じて各送信をJSON形式でエンドポイントにPOSTできます。TallyのWebhookのドキュメントでは、設計時に考慮すべき運用上の詳細がいくつか挙げられています。応答のタイムアウトは10秒で、失敗時には再試行が行われ、検証用の`Tally-Signature`ヘッダーを追加する署名シークレットも任意で設定できます。参考：[Webhooks](https://tally.so/help/webhooks)。

次のような場合はWebhookを選びます：

- **独自の決済フローを開始する**（独自の決済セッションのロジック作成、パッケージの対応付け、通貨の処理、処理状況の記録）。
- **成果物を自動で届ける**（ダウンロードリンクの送信、アクセス制限の解除、PDFの生成、社内ジョブの起動）。
- **信頼性とセキュリティを自社で管理する**（署名の検証、イベントのログ記録、再試行に耐える処理の構築）。


ベストプラクティス：プライバシー、URLエンコード、命名規則
------------------------------------------------------------------------------------

- **クエリパラメーターに秘密情報を入れない**：URLはログに記録されたり、共有されたりすることがあります。個人データではなく、ID（`eventId`など）を使うようにします。
- **`ref`を安全にエンコードする**：完全なURLを`ref`として渡す場合は、URLエンコード（またはbase64エンコード）して、コピーして貼り付けても壊れず、クエリ文字列を崩さないようにします。
- **隠しフィールドの名前を変えない**：後から`eventId`を`event_id`に変更すると、すべての場所でリンクを更新しない限り、既存のCTAが機能しなくなります。
- **エンドツーエンドでテストする**：CTAをクリック → フォームを送信 → Tallyの回答に隠しフィールドが表示されることを確認 → Zap・Webhookが想定どおりの値を受け取ることを確認。


よくある質問
------------------

### Tallyの隠しフィールドは無料ですか？

はい。Tallyのドキュメントによると、隠しフィールドはすべてのTallyユーザーが無料で利用できます。参照：[Hidden fields](https://tally.so/help/hidden-fields)。

### 隠しフィールドの名前は、URLパラメーターと完全に一致させる必要がありますか？

はい。Tallyによると隠しフィールドは大文字と小文字を区別するため、隠しフィールドの名前とURLパラメーターは完全に一致させる必要があります（例：`eventId`と`eventid`は別のものとして扱われます）。

### URLパラメーターで支払いフィールドを事前入力できますか？

Tallyの事前入力に関するドキュメントによると、支払いブロック（およびファイルアップロードのブロック）は事前入力できません。それでも、隠しフィールドで文脈を渡し、必要に応じてフォームの外で自動化により支払いを処理できます。参照：[Pre-populate form fields](https://tally.so/help/pre-populate-form-fields)。

### Tallyの送信データはZapierに対応していますか？

はい。Tallyのドキュメントでは、新しいフォームの送信をトリガーとして、データを他のアプリに送れるZapier連携が説明されています。参照：[Zapier integration](https://tally.so/help/zapier-integration)。

### ZapierとWebhookのどちらを使うべきですか？

ノーコードですばやく自動化するならZapierを使います。より厳密な制御、署名の検証、独自の処理が必要ならWebhookを使います。TallyのWebhookのドキュメントでは、JSON形式のPOSTペイロード、10秒の応答時間、任意の署名シークレット、再試行について説明されています：[Webhooks](https://tally.so/help/webhooks)。

次のステップ
------------------

イベント写真の販売とサポートを拡大したい場合、隠しフィールドは外部フォームを「ネイティブ」に感じさせるシンプルな方法です。フォームがすでに文脈を把握しているからです。[9Pic BibTrack](/ja/products/bibtrack/)や[9Pic FaceFind](/ja/products/facefind/)の検索フローと組み合わせ、フォームの送信を自社のツールに振り分ければ、チームはやり取りではなく注文処理に集中できます。

さっそく始めましょう
------------------------------

写真のホスティング、AI検索、メディア配信に9Pic AIを活用するイベント主催者は、これまでに5,000件以上のイベントで500万人以上の参加者に1億枚以上の写真を届けています。

[今すぐ始める](https://admin.9pic.ai/sign-up) [デモを予約](/ja/contact/)
