> ## Documentation Index
> Fetch the complete documentation index at: https://cal.id/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# How to Hide and Prefill Booking Questions?

> Pre-fill known booker data or hide internal-only fields on your Cal ID booking page using URL query parameters and hidden field identifiers.

Pre-fill information you already know about a client, or hide fields meant only for internal tracking (like referral sources or Lead IDs), to keep your **Cal ID** booking form short and friction-free while your calendar stays organized.

## Step 1: Add a booking question

<Steps>
  <Step title="Log in to Cal ID">
    Log in to your Cal ID account.
  </Step>

  <Step title="Select your event">
    Navigate to the **Event Types** tab in the left sidebar and select the event you want to modify.
  </Step>

  <Step title="Open the Advanced tab">
    Click the **Advanced** tab in the top navigation bar.
  </Step>

  <Step title="Add a question">
    In the **Booking questions** section, click **+ Add a question**.

    <Frame>
      <img src="https://mintcdn.com/cal-id-docs/sKullsnr0kttqH1B/images/event-types/hide-prefill-1.png?fit=max&auto=format&n=sKullsnr0kttqH1B&q=85&s=3689001e8dc822b88162d41aad62828d" alt="The Add a question button in the Booking questions section" width="1496" height="799" data-path="images/event-types/hide-prefill-1.png" />
    </Frame>
  </Step>

  <Step title="Fill out the question details">
    * **Label:** The question text (e.g., "Referral Source").
    * **Identifier:** Take note of this unique ID (e.g., `referral`). You'll need this exact word to pre-fill the data later.

    <Frame>
      <img src="https://mintcdn.com/cal-id-docs/sKullsnr0kttqH1B/images/event-types/hide-prefill-2.png?fit=max&auto=format&n=sKullsnr0kttqH1B&q=85&s=22f367e970d1b13bd52c57a581c6a32b" alt="Setting the label and identifier for a new booking question" width="1600" height="842" data-path="images/event-types/hide-prefill-2.png" />
    </Frame>
  </Step>

  <Step title="Add the question">
    Click **Add**.
  </Step>
</Steps>

## Step 2: Hide a booking question

To record a field in your calendar while keeping it invisible to the attendee, hide it:

<Steps>
  <Step title="Locate your question">
    Find your newly added question in the list.
  </Step>

  <Step title="Set it to Hidden">
    Click the switch next to the question to set it to **Hidden**.

    <Frame>
      <img src="https://mintcdn.com/cal-id-docs/sKullsnr0kttqH1B/images/event-types/hide-prefill-3.png?fit=max&auto=format&n=sKullsnr0kttqH1B&q=85&s=0e2e18d8e1c26ef60592d093fcbfa3b4" alt="Setting a booking question to Hidden" width="1498" height="798" data-path="images/event-types/hide-prefill-3.png" />
    </Frame>
  </Step>

  <Step title="Lock the value (optional)">
    To ensure a user cannot change a pre-filled value even if they find the field, click **Edit** and check the box **"Disable input if the URL identifier is prefilled"**.

    <Frame>
      <img src="https://mintcdn.com/cal-id-docs/sKullsnr0kttqH1B/images/event-types/hide-prefill-4.png?fit=max&auto=format&n=sKullsnr0kttqH1B&q=85&s=aca499ab04cf913f51164acb6e71bb0f" alt="The Disable input if the URL identifier is prefilled option" width="1494" height="787" data-path="images/event-types/hide-prefill-4.png" />
    </Frame>
  </Step>

  <Step title="Save">
    Click **Save** at the top right of the page.
  </Step>
</Steps>

## Step 3: Pre-fill the booking question

To automatically fill a field, append a **query parameter** to your booking URL that matches your question's **Identifier**.

* **The logic:** Use a `?` for the first parameter and an `&` for any additional parameters.
* **The structure:** `URL?identifier=value`

<Frame>
  <img src="https://mintcdn.com/cal-id-docs/sKullsnr0kttqH1B/images/event-types/hide-prefill-5.png?fit=max&auto=format&n=sKullsnr0kttqH1B&q=85&s=270780bab9dc19588a442d15c51fcf25" alt="Appending a query parameter to a booking URL" width="1468" height="744" data-path="images/event-types/hide-prefill-5.png" />
</Frame>

### Example scenario

* **Your booking URL:** `https://cal.id/username/eventtype`
* **Your identifier:** `referral`
* **The value you want to set:** `Instagram`

**Your modified URL becomes:** `https://cal.id/username/eventtype?referral=Instagram`

### Example with multiple parameters

If your URL already has parameters (like `?overlayCalendar=true`), use the `&` symbol to add your pre-fill data: `https://cal.id/username/eventtype?overlayCalendar=true&referral=Instagram`

### URL parameter behavior

| Parameter pattern                                          | Effect                                                             |
| ---------------------------------------------------------- | ------------------------------------------------------------------ |
| `?identifier=value`                                        | First parameter — pre-fills the matching question with `value`.    |
| `&identifier=value`                                        | Additional parameter — appended after an existing `?`.             |
| Hidden question + parameter                                | Value is captured silently; the booker never sees the field.       |
| "Disable input if the URL identifier is prefilled" enabled | The pre-filled value is locked and cannot be edited by the booker. |

## Why use this method?

* **Data integrity:** As long as the question is **Hidden**, the booker won't see it on the page, but the information (e.g., "Referral: Instagram") still appears in your **Google/Outlook Calendar** and your **Cal ID Dashboard** once scheduled.
* **Seamless personalization:** Send custom links to different partners, each with their own name pre-filled, to see exactly who is driving your bookings.
* **Clean forms:** Keep the visible form short by capturing background data (like Campaign IDs or User IDs) behind the scenes.

## Next steps

<CardGroup cols={2}>
  <Card title="Add pre-booking questions" icon="circle-question" href="/docs/event-types/booking-questions/pre-booking-questions">
    Explore every input type and build your intake form.
  </Card>

  <Card title="Require or exclude email domains" icon="at" href="/docs/event-types/booking-questions/email-domains">
    Control who can book with domain validation rules.
  </Card>
</CardGroup>


## Related topics

- [Add Pre-Booking Questions for Events](/docs/event-types/booking-questions/pre-booking-questions.md)
- [Split Full Name into First and Last Name on Booking Page](/docs/event-types/booking-questions/split-name.md)
- [How to Disable Adding Guests in Cal ID](/docs/event-types/booking-questions/disable-guests.md)
- [Require/Exclude Email Domains (Booking Question)](/docs/event-types/booking-questions/email-domains.md)
