# HubSpot Sign Up Type and Content Value Combinations


**Last Updated:** 2025-11-20

**Date:** 2025-11-20  
**Purpose:** Comprehensive reference guide for all possible `sign_up_type__c` and `content` value combinations across all HubSpot-integrated forms

## Executive Summary

This document provides a complete reference for all `sign_up_type__c` and `content` value combinations used across 9 HubSpot-integrated forms. It includes both static values (fixed for each form) and dynamic values (vary based on input parameters).

### Quick Reference Table

| Form                         | sign_up_type\_\_c                                        | content                    | Value Type | Code Location                                     |
| ---------------------------- | -------------------------------------------------------- | -------------------------- | ---------- | ------------------------------------------------- |
| collect-lead                 | "Tools Page"                                             | Dynamic (tool_description) | Dynamic    | `v2/api/collect-lead.php:443-448`                 |
| submit-template              | "Template Download"                                      | Dynamic (content_type)     | Dynamic    | `v2/api/submit-template.php:410-415`              |
| addon-request                | "Add-on Pricing Inquiry"<br>"Enterprise Pricing Inquiry" | Dynamic (addon name)       | Dynamic    | `v2/api/addon-request.php:505-510`                |
| export-workdays              | "Tools Page"                                             | "Arbeitstage-Rechner"      | Static     | `v2/api/export-workdays.php:443-444`              |
| shiftops-nps                 | "Tools Page"                                             | "ShiftOps NPS"             | Static     | `v2/api/shiftops-nps.php:94-99`                   |
| shiftops-hubspot             | "Tools Page"                                             | "ShiftOps"                 | Static     | `v2/api/shiftops-hubspot.php:558-563`             |
| lead-capture                 | "Lead Capture Form"                                      | Dynamic ({sourcePage})     | Dynamic    | `v2/api/lead-capture.php:1532-1537`               |
| webinar-registration         | "Webinar Registration"                                   | "Produkt"                  | Static     | `v2/api/webinar-registration.php:650-651`         |
| payroll-webinar-registration | "Webinar Registration"                                   | "Payroll"                  | Static     | `v2/api/payroll-webinar-registration.php:649-650` |

### Value Type Breakdown

- **Static Values:** 5 forms (export-workdays, shiftops-nps, shiftops-hubspot, webinar-registration, payroll-webinar-registration)
- **Dynamic Values:** 4 forms (collect-lead, submit-template, addon-request, lead-capture)
- **Total Forms:** 9
- **Total sign_up_type\_\_c Values:** 5 unique values
- **Total content Variations:** 25+ possible combinations
  - collect-lead: 10+ tool combinations
  - submit-template: 3+ template types
  - addon-request: 6 addon names (5 from pricing page + Enterprise)
  - lead-capture: Dynamic based on sourcePage

---

## Static Values Section

Forms with fixed `sign_up_type__c` and/or `content` values that do not vary based on input.

### Forms with Static sign_up_type\_\_c Values

#### "Tools Page"

**Used by:** 4 forms

- `collect-lead.php` (line 443)
- `export-workdays.php` (line 443)
- `shiftops-hubspot.php` (line 558)
- `shiftops-nps.php` (line 94)

**When to use:** For all tool/calculator pages and ShiftOps-related forms

#### "Template Download"

**Used by:** 1 form

- `submit-template.php` (line 414)

**When to use:** For template download forms

#### "Add-on Pricing Inquiry" / "Enterprise Pricing Inquiry"

**Used by:** 1 form

- `addon-request.php` (line 505-506, normalized via `normalizeSignupType()`)

**When to use:** For add-on pricing inquiry forms (normalized from various input variations)

#### "Lead Capture Form"

**Used by:** 1 form

- `lead-capture.php` (line 1532)

**When to use:** For lead capture popup forms

#### "Webinar Registration"

**Used by:** 2 forms

- `webinar-registration.php` (line 650)
- `payroll-webinar-registration.php` (line 649)

**When to use:** For webinar registration forms

### Forms with Static content Values

#### "Arbeitstage-Rechner"

**Used by:** `export-workdays.php` (line 444)  
**Form:** Tools Lead Collection Form  
**Value Type:** Static

#### "ShiftOps"

**Used by:** `shiftops-hubspot.php` (line 562)  
**Form:** ShiftOps Grader Lead Capture  
**Value Type:** Static

#### "ShiftOps NPS"

**Used by:** `shiftops-nps.php` (line 98)  
**Form:** ShiftOps NPS Survey  
**Value Type:** Static

#### "Produkt"

**Used by:** `webinar-registration.php` (line 651)  
**API Type:** CRM API v3  
**Value Type:** Static  
**Note:** Simplified from "Ordio Produkt-Webinar" to avoid redundancy

#### "Payroll"

**Used by:** `payroll-webinar-registration.php` (line 650)  
**API Type:** CRM API v3  
**Value Type:** Static  
**Note:** Simplified from "Ordio Payroll Webinar" to avoid redundancy

---

## Dynamic Values Section

Forms where `sign_up_type__c` and/or `content` values vary based on input parameters.

### collect-lead.php: Tool Name → Tool Description Combinations

**Endpoint:** `v2/api/collect-lead.php`  
**Form:** Tools Lead Collection Form (GUID: `a91b263c-7ca2-418b-b35c-9664c30e968b`)  
**API Type:** Forms API v3  
**sign_up_type\_\_c:** Always "Tools Page" (static)  
**content:** Dynamic based on `tool_description` input parameter

#### Tool Name → Tool Description Mapping

| tool_name                | tool_description                  | Source File                                   | Line Reference |
| ------------------------ | --------------------------------- | --------------------------------------------- | -------------- |
| Stundenlohnrechner       | "Stundenlohnrechner"              | `v2/pages/tools_stundenlohnrechner.php`       | 1949-1950      |
| TVöD Rechner             | "TVöD-SuE Gehaltsrechner"         | `v2/pages/tools_tvoed_sue.php`                | 1579-1580      |
| Arbeitszeitrechner       | "Arbeitszeitrechner"              | `v2/pages/tools_arbeitszeitrechner.php`       | 6582-6583      |
| Arbeitstage-Rechner      | "Arbeitstage-Rechner"             | `v2/pages/tools_arbeitstage_rechner.php`      | 4114-4115      |
| Industrieminuten-Rechner | "Industrieminuten-Rechner"        | `v2/pages/tools_industrieminuten_rechner.php` | 6078-6079      |
| Mehrwertsteuer-Rechner   | "Mehrwertsteuer-Rechner"          | `v2/pages/tools_mehrwertsteuer_rechner.php`   | 3835-3836      |
| Midijob-Rechner          | "Midijob Netto-Gehalt Berechnung" | `v2/pages/tools_midijob_rechner.php`          | 4135-4136      |
| Zuschlagsrechner         | "Zuschlagsrechner"                | `v2/pages/tools_zuschlagsrechner.php`         | 741-742        |
| Urlaubsanspruch-Rechner  | "Urlaubsanspruch-Rechner"         | `v2/pages/tools_urlaubsanspruchrechner.php`   | 3629-3630      |
| Zinseszinsrechner        | "Zinseszinsrechner"               | `v2/pages/tools_zinseszinsrechner.php`        | 2001-2002      |

**Default Fallback:** If `tool_description` is not provided or empty, the code uses `$toolDescription` from input (line 278), with a fallback to "Tool Lead" if not set.

**Code Reference:** `v2/api/collect-lead.php:447-448`

```php
[
    "name" => "content",
    "value" => $toolDescription // Tool description
]
```

### submit-template.php: Content Type Variations

**Endpoint:** `v2/api/submit-template.php`  
**Form:** Template Download Form (GUID: `11e392f7-aece-4969-8c39-402ee6cb2330`)  
**API Type:** Forms API v3  
**sign_up_type\_\_c:** Always "Template Download" (static)  
**content:** Dynamic based on `content_type` input parameter

#### Content Type Variations

| content_type Input                        | Template Type Detected    | content Value                 | Code Reference                           |
| ----------------------------------------- | ------------------------- | ----------------------------- | ---------------------------------------- |
| "Dienstplan Vorlage - Template" (default) | Dienstplan                | "Dienstplan Vorlage"          | `v2/api/submit-template.php:76, 410-411` |
| "Schichtplan Vorlage - Template"          | Schichtplan               | "Schichtplan Vorlage"         | `v2/api/submit-template.php:364-367`     |
| "Zeiterfassung Vorlage - Template"        | Zeiterfassung             | "Zeiterfassung Vorlage"       | `v2/api/submit-template.php:372-375`     |
| Custom value                              | Extracted from first word | Custom value (suffix removed) | `v2/api/submit-template.php:377-380`     |

**Default Fallback:** "Dienstplan Vorlage - Template" (line 76) → content value: "Dienstplan Vorlage"

**Code Reference:** `v2/api/submit-template.php:410-411`

```php
[
    "name" => "content",
    "value" => str_replace(' - Template', '', $content_type)
]
```

**Note:** The " - Template" suffix is automatically removed from content values to avoid redundancy.

**Template Type Detection Logic:** `v2/api/submit-template.php:363-381`

- Checks if `content_type` contains "Schichtplan" → `$template_type = 'Schichtplan'`
- Checks if `content_type` contains "Dienstplan" → `$template_type = 'Dienstplan'`
- Checks if `content_type` contains "Zeiterfassung" → `$template_type = 'Zeiterfassung'`
- Otherwise, extracts first word from `content_type` and capitalizes it

### addon-request.php: Signup Type Normalization and Addon Names

**Endpoint:** `v2/api/addon-request.php`  
**Form:** Pricing Inquiry Form (GUID: `c2022eda-c9b4-4010-a02d-d920852585b1`)  
**API Type:** Forms API v3  
**sign_up_type\_\_c:** Dynamic (normalized via `normalizeSignupType()`)  
**content:** Dynamic based on `addon` input parameter

#### Signup Type Normalization Rules

The `normalizeSignupType()` function (`v2/api/addon-request.php:27-62`) normalizes various input variations into two standardized values:

**Enterprise Options → "Enterprise Pricing Inquiry":**

- "enterprise pricing inquiry"
- "enterprise_inquiry"
- "enterprise"
- "enterprise add-on"
- "enterprise addon"
- "enterprise modal"

**Add-on Options → "Add-on Pricing Inquiry":**

- "add-on pricing inquiry"
- "add_on_pricing_inquiry"
- "addon pricing inquiry"
- "pricing_inquiry"
- "pricing inquiry"
- "add-on"
- "addon"
- "pricing"

**Fallback Logic:**

- If `$addon === 'Enterprise'` → "Enterprise Pricing Inquiry"
- Otherwise → "Add-on Pricing Inquiry"

**Code Reference:** `v2/api/addon-request.php:505-506`

```php
[
    "name" => "sign_up_type__c",
    "value" => $signuptype // Normalized via normalizeSignupType()
]
```

#### Content Values (Addon Names)

The `content` field uses the `addon` parameter value directly, with a fallback. Addon values come from two sources:

**From Pricing Page (`v2/sections/pricing-addons.php`):**

- "Ordio Events" (line 211)
- "Hardware Terminals" (line 219)
- "Personaldienstleister" (line 227)
- "QR-Code Multi-Checkin" (line 235)
- "Trinkgeld" (line 243)

**From Enterprise Modal (`v2/sections/enterprise-box.php`):**

- "Enterprise" (line 275)

| addon Input             | content Value            | Source File                      | Code Reference                     |
| ----------------------- | ------------------------ | -------------------------------- | ---------------------------------- |
| "Ordio Events"          | "Ordio Events"           | `v2/sections/pricing-addons.php` | `v2/api/addon-request.php:509-510` |
| "Hardware Terminals"    | "Hardware Terminals"     | `v2/sections/pricing-addons.php` | `v2/api/addon-request.php:509-510` |
| "Personaldienstleister" | "Personaldienstleister"  | `v2/sections/pricing-addons.php` | `v2/api/addon-request.php:509-510` |
| "QR-Code Multi-Checkin" | "QR-Code Multi-Checkin"  | `v2/sections/pricing-addons.php` | `v2/api/addon-request.php:509-510` |
| "Trinkgeld"             | "Trinkgeld"              | `v2/sections/pricing-addons.php` | `v2/api/addon-request.php:509-510` |
| "Enterprise"            | "Enterprise"             | `v2/sections/enterprise-box.php` | `v2/api/addon-request.php:509-510` |
| Any other addon name    | Addon name               | Custom/other sources             | `v2/api/addon-request.php:509-510` |
| Empty/null              | "Add-on Pricing Inquiry" | Fallback                         | `v2/api/addon-request.php:510`     |

**Code Reference:** `v2/api/addon-request.php:509-510`

```php
[
    "name" => "content",
    "value" => !empty($addon) ? $addon : "Add-on Pricing Inquiry"
]
```

**Note:** The `addon` parameter is required (line 169), so the fallback should rarely be used in practice.

**How Addon Values Are Set:**

1. **Pricing Page Addons:** When a user clicks an "Anfragen" button on the pricing page, JavaScript extracts the addon name from the `data-addon` attribute (line 351 in `pricing-addons.php`) and sets it as `currentAddon`. On form submission, this value is appended to FormData as `addon` (line 393).

2. **Enterprise Modal:** When a user clicks "Anfrage stellen" on the Enterprise box, the Enterprise modal opens. On form submission, JavaScript explicitly sets `addon: 'Enterprise'` (line 275 in `enterprise-box.php`).

### lead-capture.php: Source Page Pattern

**Endpoint:** `v2/api/lead-capture.php`  
**Form:** Lead Capture Form (GUID: `9f9d4e35-d8d9-4283-93b6-1a789e0a1281`)  
**API Type:** Forms API v3  
**sign_up_type\_\_c:** Always "Lead Capture Form" (static)  
**content:** Dynamic based on `sourcePage` input parameter

#### Content Value Pattern

| sourcePage Input | content Value  | Code Reference                      |
| ---------------- | -------------- | ----------------------------------- |
| Non-empty value  | {sourcePage}   | `v2/api/lead-capture.php:1536-1537` |
| Empty/null       | "Lead Capture" | `v2/api/lead-capture.php:1537`      |

**Code Reference:** `v2/api/lead-capture.php:1536-1537`

```php
[
    "name" => "content",
    "value" => !empty($sourcePage) ? $sourcePage : "Lead Capture"
]
```

**Note:** The "Lead Capture - " prefix is removed to avoid redundancy. The sourcePage value is used directly.

**Common sourcePage Values:**
The `sourcePage` parameter comes from the `source_page` input field (line 320). Common values include:

- Page names extracted from URLs (e.g., "Homepage", "Pricing", "Demo Request")
- Custom page identifiers set by frontend JavaScript
- Empty string if not provided

**Note:** The `sourcePage` is extracted from the `source_page` input parameter and can be any string value provided by the frontend.

---

## Complete Combinations Matrix

This table shows all possible combinations of `sign_up_type__c` and `content` values across all forms.

### Form: collect-lead.php

| sign_up_type\_\_c | content                         | Tool Name                |
| ----------------- | ------------------------------- | ------------------------ |
| Tools Page        | Stundenlohnrechner              | Stundenlohnrechner       |
| Tools Page        | TVöD-SuE Gehaltsrechner         | TVöD Rechner             |
| Tools Page        | Arbeitszeitrechner              | Arbeitszeitrechner       |
| Tools Page        | Arbeitstage-Rechner             | Arbeitstage-Rechner      |
| Tools Page        | Industrieminuten-Rechner        | Industrieminuten-Rechner |
| Tools Page        | Mehrwertsteuer-Rechner          | Mehrwertsteuer-Rechner   |
| Tools Page        | Midijob Netto-Gehalt Berechnung | Midijob-Rechner          |
| Tools Page        | Zuschlagsrechner                | Zuschlagsrechner         |
| Tools Page        | Urlaubsanspruch-Rechner         | Urlaubsanspruch-Rechner  |
| Tools Page        | Zinseszinsrechner               | Zinseszinsrechner        |
| Tools Page        | Tool Lead                       | Default fallback         |

### Form: submit-template.php

| sign_up_type\_\_c | content               | Template Type        |
| ----------------- | --------------------- | -------------------- |
| Template Download | Dienstplan Vorlage    | Dienstplan (default) |
| Template Download | Schichtplan Vorlage   | Schichtplan          |
| Template Download | Zeiterfassung Vorlage | Zeiterfassung        |
| Template Download | {Custom value}        | Custom template type |

### Form: addon-request.php

| sign_up_type\_\_c          | content                | Addon Type             | Source                               |
| -------------------------- | ---------------------- | ---------------------- | ------------------------------------ |
| Enterprise Pricing Inquiry | Enterprise             | Enterprise             | `v2/sections/enterprise-box.php:275` |
| Add-on Pricing Inquiry     | Ordio Events           | Ordio Events           | `v2/sections/pricing-addons.php:211` |
| Add-on Pricing Inquiry     | Hardware Terminals     | Hardware Terminals     | `v2/sections/pricing-addons.php:219` |
| Add-on Pricing Inquiry     | Personaldienstleister  | Personaldienstleister  | `v2/sections/pricing-addons.php:227` |
| Add-on Pricing Inquiry     | QR-Code Multi-Checkin  | QR-Code Multi-Checkin  | `v2/sections/pricing-addons.php:235` |
| Add-on Pricing Inquiry     | Trinkgeld              | Trinkgeld              | `v2/sections/pricing-addons.php:243` |
| Add-on Pricing Inquiry     | {Other addon name}     | Other addon            | Custom/other sources                 |
| Add-on Pricing Inquiry     | Add-on Pricing Inquiry | Fallback (empty addon) | Fallback                             |

### Form: export-workdays.php

| sign_up_type\_\_c | content             |
| ----------------- | ------------------- |
| Tools Page        | Arbeitstage-Rechner |

### Form: shiftops-nps.php

| sign_up_type\_\_c | content      |
| ----------------- | ------------ |
| Tools Page        | ShiftOps NPS |

### Form: shiftops-hubspot.php

| sign_up_type\_\_c | content  |
| ----------------- | -------- |
| Tools Page        | ShiftOps |

### Form: lead-capture.php

| sign_up_type\_\_c | content      |
| ----------------- | ------------ |
| Lead Capture Form | {sourcePage} |
| Lead Capture Form | Lead Capture |

### Form: webinar-registration.php

| sign_up_type\_\_c    | content |
| -------------------- | ------- |
| Webinar Registration | Produkt |

### Form: payroll-webinar-registration.php

| sign_up_type\_\_c    | content |
| -------------------- | ------- |
| Webinar Registration | Payroll |

---

## Usage Guidelines

### When to Use Each sign_up_type\_\_c Value

#### "Tools Page"

- **Use for:** All tool/calculator pages and ShiftOps-related forms
- **Forms:** collect-lead, export-workdays, shiftops-hubspot, shiftops-nps
- **Best practice:** Use consistently across all tool-related forms

#### "Template Download"

- **Use for:** Template download forms
- **Forms:** submit-template
- **Best practice:** Use for any form that downloads templates or similar resources

#### "Add-on Pricing Inquiry" / "Enterprise Pricing Inquiry"

- **Use for:** Add-on pricing inquiry forms
- **Forms:** addon-request
- **Best practice:** Use normalization function to ensure consistent values

#### "Lead Capture Form"

- **Use for:** Lead capture popup forms
- **Forms:** lead-capture
- **Best practice:** Use for any popup or modal form that captures leads

#### "Webinar Registration"

- **Use for:** Webinar registration forms
- **Forms:** webinar-registration, payroll-webinar-registration
- **Best practice:** Use for any event registration form

### How to Determine content Values for New Forms

1. **For tool/calculator forms:**

   - Use the tool's display name or description
   - Be specific enough to identify the exact tool
   - Example: "Stundenlohnrechner", "TVöD-SuE Gehaltsrechner"

2. **For template forms:**

   - Use the template type or category
   - Remove redundant suffixes (e.g., " - Template")
   - Example: "Dienstplan Vorlage"

3. **For addon/pricing forms:**

   - Use the addon name directly (as submitted from the pricing page or Enterprise modal)
   - Current addon names: "Ordio Events", "Hardware Terminals", "Personaldienstleister", "QR-Code Multi-Checkin", "Trinkgeld", "Enterprise"
   - Fallback to "Add-on Pricing Inquiry" if name is unavailable
   - Example: "Ordio Events", "Hardware Terminals", "Trinkgeld", "Enterprise"

4. **For lead capture forms:**

   - Use source page directly when available (no prefix)
   - Fallback to "Lead Capture" if source page unavailable
   - Example: "{sourcePage}" or "Lead Capture"

5. **For event/webinar forms:**
   - Use only the topic/topic name (avoid redundancy)
   - Be concise and descriptive
   - Example: "Produkt", "Payroll"

### Best Practices for Dynamic Values

1. **Consistency:** Use same `sign_up_type__c` for similar form types
2. **Specificity:** `content` should be specific enough to identify the exact form/page
3. **Dynamic Values:** Use dynamic values when they provide useful information
4. **Fallbacks:** Always provide fallback values when dynamic values might be empty
5. **Normalization:** Use normalization functions (like `normalizeSignupType()`) to ensure consistent values

### Normalization Rules Reference

#### addon-request.php Normalization

**Function:** `normalizeSignupType($rawSignupType, $addon)`  
**Location:** `v2/api/addon-request.php:27-62`

**Rules:**

1. Convert input to lowercase and trim whitespace
2. Check against enterprise options list → return "Enterprise Pricing Inquiry"
3. Check against add-on options list → return "Add-on Pricing Inquiry"
4. Fallback: If `$addon === 'Enterprise'` → "Enterprise Pricing Inquiry", otherwise → "Add-on Pricing Inquiry"

**Enterprise Options:**

- enterprise pricing inquiry
- enterprise_inquiry
- enterprise
- enterprise add-on
- enterprise addon
- enterprise modal

**Add-on Options:**

- add-on pricing inquiry
- add_on_pricing_inquiry
- addon pricing inquiry
- pricing_inquiry
- pricing inquiry
- add-on
- addon
- pricing

---

## Reference Section

### Related Documentation

- [HUBSPOT_SIGNUP_CONTENT_VALUE_REFERENCE.md](./HUBSPOT_SIGNUP_CONTENT_VALUE_REFERENCE.md) - Quick reference guide
- [HUBSPOT_SIGNUP_CONTENT_FIRSTPAGE_VERIFICATION.md](./HUBSPOT_SIGNUP_CONTENT_FIRSTPAGE_VERIFICATION.md) - Verification report
- [HUBSPOT_INTEGRATION_GUIDE.md](./HUBSPOT_INTEGRATION_GUIDE.md) - Integration guide
- [property-mapping.php](../../scripts/hubspot/property-mapping.php) - Property definitions

### Code File References

#### API Endpoints

- `v2/api/collect-lead.php` - Universal Tools Lead Collection API
- `v2/api/submit-template.php` - Template Download API
- `v2/api/addon-request.php` - Add-on Pricing Request API
- `v2/api/export-workdays.php` - Workdays Export API
- `v2/api/shiftops-nps.php` - ShiftOps NPS Survey API
- `v2/api/shiftops-hubspot.php` - ShiftOps Grader API
- `v2/api/lead-capture.php` - Lead Capture Form API
- `v2/api/webinar-registration.php` - Webinar Registration API
- `v2/api/payroll-webinar-registration.php` - Payroll Webinar Registration API

#### Tool Pages (collect-lead.php usage)

- `v2/pages/tools_stundenlohnrechner.php`
- `v2/pages/tools_tvoed_sue.php`
- `v2/pages/tools_arbeitszeitrechner.php`
- `v2/pages/tools_arbeitstage_rechner.php`
- `v2/pages/tools_industrieminuten_rechner.php`
- `v2/pages/tools_mehrwertsteuer_rechner.php`
- `v2/pages/tools_midijob_rechner.php`
- `v2/pages/tools_zuschlagsrechner.php`
- `v2/pages/tools_urlaubsanspruchrechner.php`
- `v2/pages/tools_zinseszinsrechner.php`

#### Addon Request Sources (addon-request.php usage)

- `v2/sections/pricing-addons.php` - Pricing page addon buttons (5 addons: Ordio Events, Hardware Terminals, Personaldienstleister, QR-Code Multi-Checkin, Trinkgeld)
- `v2/sections/enterprise-box.php` - Enterprise modal (1 addon: Enterprise)

### HubSpot Form GUIDs

| Form                         | GUID                                   |
| ---------------------------- | -------------------------------------- |
| Tools Lead Collection Form   | `a91b263c-7ca2-418b-b35c-9664c30e968b` |
| Template Download Form       | `11e392f7-aece-4969-8c39-402ee6cb2330` |
| Pricing Inquiry Form         | `c2022eda-c9b4-4010-a02d-d920852585b1` |
| ShiftOps NPS Survey          | `804459f7-c18d-4da6-8a0b-a81f44bb8275` |
| ShiftOps Grader Lead Capture | `41d07332-6697-4daa-b27e-dd60515f9c0f` |
| Lead Capture Form            | `9f9d4e35-d8d9-4283-93b6-1a789e0a1281` |

**Note:** webinar-registration and payroll-webinar-registration use CRM API v3, not Forms API v3, so they don't have form GUIDs.

---

## Implementation Checklist

When adding a new form:

1. ✅ Determine appropriate `sign_up_type__c` value (use existing patterns)
2. ✅ Determine appropriate `content` value (be specific and descriptive)
3. ✅ Add fields to form submission code
4. ✅ Add fields to HubSpot form (if using Forms API v3)
5. ✅ Update `property-mapping.php`
6. ✅ Test submission and verify capture
7. ✅ Update this documentation

---

## Version History

- **November 15, 2025:** Initial comprehensive documentation created
