# Form IDs Reference Guide

**Last Updated:** 2025-11-28

Quick reference guide for GTM form tracking configuration. Lists all form IDs, their types, and GTM tracking identifiers.

## HubSpot Embedded Forms

| GTM Tracking ID    | Form ID                                | Portal ID   | Region | Location           |
| ------------------ | -------------------------------------- | ----------- | ------ | ------------------ |
| `hubspot-sdr-form` | `ad1036ce-33ec-463b-adde-2fa546324c8a` | `145133546` | `eu1`  | `/sdr`, `/sdr-neu` |

## Custom HTML Forms - Primary Lead Capture

| GTM Tracking ID   | Form ID     | Action     | HubSpot GUID                           | Location                   |
| ----------------- | ----------- | ---------- | -------------------------------------- | -------------------------- |
| `demo-form-main`  | `demo-form` | `/form-hs` | `9b93ee13-fad2-4ce8-8ea2-4e588932af2a` | Multiple pages (component) |
| `demo-form-sdr`   | `demo-form` | `/form-hs` | `9b93ee13-fad2-4ce8-8ea2-4e588932af2a` | `/sdr`, `/sdr-neu`         |
| `email-form-hero` | `emailForm` | Direct API | `c1d24914-f2a2-4371-b12a-7217553f5897` | Hero sections (component)  |
| `email-form-cello` | `emailForm` | Direct API | `a47cfeb7-4d00-4a76-971d-23a82739fb15` | `/einladung` (Cello referral) |

## Custom HTML Forms - Gated Content

| GTM Tracking ID        | Form ID        | Action     | HubSpot GUID                           | Location                   |
| ---------------------- | -------------- | ---------- | -------------------------------------- | -------------------------- |
| `content-form`         | `content-form` | `/form-hs` | `c74e1237-6b52-4a16-bac7-daaf98881e63` | Download pages (component) |
| `content-form-webinar` | `content-form` | `/form-hs` | `c74e1237-6b52-4a16-bac7-daaf98881e63` | Webinar pages (component)  |
| `shiftops-unlock-form` | `unlock-form`  | Direct API | N/A                                    | `/shiftops/report`         |

## Custom HTML Forms - Lead Capture Popup

| GTM Tracking ID      | Form ID                   | Action     | HubSpot GUID                           | Location        |
| -------------------- | ------------------------- | ---------- | -------------------------------------- | --------------- |
| `lead-capture-step1` | `lead-capture-form-step1` | Direct API | `9f9d4e35-d8d9-4283-93b6-1a789e0a1281` | Popup component |
| `lead-capture-step2` | `lead-capture-form-step2` | Direct API | `9f9d4e35-d8d9-4283-93b6-1a789e0a1281` | Popup component |

## Custom HTML Forms - Events & Webinars

| GTM Tracking ID                  | Form ID                     | Action     | HubSpot GUID                           | Location                   |
| -------------------------------- | --------------------------- | ---------- | -------------------------------------- | -------------------------- |
| `supper-club-form`               | `supper-club-form`          | `/form-hs` | `c74e1237-6b52-4a16-bac7-daaf98881e63` | `/event-supper-club`       |
| `webinar-registration-product`   | `webinar-registration-form` | Direct API | N/A                                    | `/product/webinar`         |
| `webinar-registration-payroll`   | `webinar-registration-form` | Direct API | N/A                                    | `/product/payroll-webinar` |
| `webinar-registration-trinkgeld` | `webinar-registration-form` | Direct API | N/A                                    | `/webinar/trinkgeld`       |

## Custom HTML Forms - Pricing & Enterprise

| GTM Tracking ID   | Form ID          | Action     | HubSpot GUID                           | Location                        |
| ----------------- | ---------------- | ---------- | -------------------------------------- | ------------------------------- |
| `addon-form`      | `addonForm`      | Direct API | `c2022eda-c9b4-4010-a02d-d920852585b1` | Pricing pages (component)       |
| `enterprise-form` | `enterpriseForm` | Direct API | N/A                                    | Enterprise sections (component) |

## Custom HTML Forms - Calculator Exports

| GTM Tracking ID           | Form ID           | Action     | HubSpot GUID                           | Location         |
| ------------------------- | ----------------- | ---------- | -------------------------------------- | ---------------- |
| `calculator-export-email` | `exportEmailForm` | Direct API | `a91b263c-7ca2-418b-b35c-9664c30e968b` | Calculator pages |

## API-Based Form Submissions

| GTM Tracking ID       | Endpoint               | HubSpot GUID                           | Constant       | Purpose               |
| --------------------- | ---------------------- | -------------------------------------- | -------------- | --------------------- |
| `api-lead-capture`    | `lead-capture.php`     | `9f9d4e35-d8d9-4283-93b6-1a789e0a1281` | `LEAD_CAPTURE` | Two-step lead capture |
| `api-collect-lead`    | `collect-lead.php`     | `a91b263c-7ca2-418b-b35c-9664c30e968b` | `TOOLS`        | Calculator tools      |
| `api-submit-template` | `submit-template.php`  | `11e392f7-aece-4969-8c39-402ee6cb2330` | `TEMPLATE`     | Template downloads    |
| `api-addon-request`   | `addon-request.php`    | `c2022eda-c9b4-4010-a02d-d920852585b1` | `ADDON`        | Add-on pricing        |
| `api-generate-excel`  | `generate_excel.php`   | `c2022eda-c9b4-4010-a02d-d920852585b1` | `EXCEL`        | Excel generation      |
| `api-export-workdays` | `export-workdays.php`  | `a91b263c-7ca2-418b-b35c-9664c30e968b` | `WORKDAYS`     | Workdays export       |
| `api-shiftops`        | `shiftops-hubspot.php` | `41d07332-6697-4daa-b27e-dd60515f9c0f` | `SHIFTOPS`     | ShiftOps reports      |
| `api-shiftops-nps`    | `shiftops-nps.php`     | `804459f7-c18d-4da6-8a0b-a81f44bb8275` | `SHIFTOPS_NPS` | NPS surveys           |

## GTM Trigger Configuration

### Universal Form Submission Trigger

**Trigger Type:** Form Submission  
**Fires On:** All Forms  
**Use Case:** Catch-all trigger for all form submissions

### Specific Form ID Triggers

Create triggers for each unique form ID:

- `demo-form` (with page URL conditions to differentiate main vs SDR)
- `content-form` (with page URL conditions to differentiate content vs webinar)
- `emailForm`
- `lead-capture-form-step1`
- `lead-capture-form-step2`
- `supper-club-form`
- `webinar-registration-form` (with page URL conditions)
- `unlock-form`
- `addonForm`
- `enterpriseForm`
- `exportEmailForm`

### HubSpot Embedded Form Trigger

**Trigger Type:** Custom Event  
**Event Name:** `hubspot_form_submit`  
**Use Case:** Track HubSpot embedded form submissions via dataLayer

### API-Based Form Trigger

**Trigger Type:** Custom Event  
**Event Name:** `api_form_submit`  
**Use Case:** Track API-based form submissions via dataLayer

## GTM Variable Configuration

### Form ID Variable

**Variable Type:** Data Layer Variable  
**Data Layer Variable Name:** `form_id`  
**Use Case:** Capture form ID from dataLayer push

### Form Name Variable

**Variable Type:** Data Layer Variable  
**Data Layer Variable Name:** `form_name`  
**Use Case:** Capture form name from dataLayer push

### Form Type Variable

**Variable Type:** Data Layer Variable  
**Data Layer Variable Name:** `form_type`  
**Possible Values:** `hubspot_embedded`, `custom_html`, `api_based`

### HubSpot Form GUID Variable

**Variable Type:** Data Layer Variable  
**Data Layer Variable Name:** `hubspot_form_guid`  
**Use Case:** Track which HubSpot form receives the submission

## Notes

1. **Duplicate Form IDs:** Some form IDs are reused (e.g., `demo-form`, `content-form`). Use page URL or other context to differentiate in GTM triggers.

2. **Form Handler Logic:** The `/form-hs` handler selects HubSpot form based on form title. Track `formtitle` parameter in dataLayer.

3. **API-Based Forms:** These require client-side tracking before the API call. Implement dataLayer push in JavaScript before fetch/XMLHttpRequest.

4. **HubSpot Embedded Forms:** Use `onFormSubmit` and `onFormSubmitted` callbacks to trigger dataLayer push.

5. **Two-Step Forms:** Lead capture popup has two steps. Track both separately with step indicator in dataLayer.
