# TF-10 — Master Form Duplication Flow

| | |
|---|---|
| **Feature** | EMEA master form (all fields) → campaign-specific duplicate process |
| **Test Page** | SFAE UI (no local test page yet) |
| **Status** | 📋 Backlog |
| **Last Verified** | — |
| **Ref** | [`forms-inventory.md`](../forms-inventory.md), [`form-field-catalog.md`](../PDD/form-field-catalog.md) |

---

## What We're Testing

The "one master form per EMEA with all fields, duplicate for campaigns" strategy.
The master form contains every possible field. When a new campaign form is needed:
1. Duplicate the master
2. Hide/remove fields not needed for the campaign
3. Rename following the convention
4. Configure URL params
5. Assign to the campaign layout template

---

## Master Form Design (to be built)

### Required in Master
- All standard Pardot fields (First Name, Last Name, Email, Company, etc.)
- All `CONS_` tracking fields (hidden)
- All `QUA_` qualification fields
- All `TRA_` hidden tracking fields
- GDPR consent + Privacy Policy checkboxes
- Marketing consent checkbox
- Country dropdown
- Product category / interest dropdown
- Routing/territory fields

### Master Form Name
```
DM| C01-F01--all | MASTER Contact Form ALLFIELDS (DO NOT USE IN CAMPAIGNS)
```
> The `DM|` prefix (Digital Marketing) indicates it's a global asset.

---

## Duplication Checklist (for each new campaign form)

- [ ] In SFAE, locate the master form: `DM| C01-F01--all | MASTER…`
- [ ] Duplicate the form (copy, do not edit master)
- [ ] Rename the copy following convention: `[Country]| [Campaign]-F[N]--[lang] | [Description]`
- [ ] Move to correct country/campaign folder
- [ ] Hide fields not required for this campaign (do NOT delete — keep for future reuse)
- [ ] Set the correct layout template (LTF4-pro for multi-lang, LTF1-pro for single-lang newsletter)
- [ ] Configure `Autoresponder_Subject`, `Autoresponder_header_img` defaults
- [ ] Test the duplicate with TF-01 (iframe embed) and TF-02 (URL params)
- [ ] Add the new form to `forms-inventory.md` with convention status ✓
- [ ] Tag the form with the campaign tag in SFAE

---

## Test Cases

| Scenario | Expected | Test |
|---|---|---|
| Master form exists in SFAE | ✅ | Navigate to SFAE forms list, search "MASTER" |
| Master form has all fields from field catalog | ✅ | Compare field list to `form-field-catalog.md` |
| Duplicate retains all fields | ✅ | Check duplicate field count = master field count |
| Campaign-specific fields can be hidden without deletion | ✅ | Set field to "hidden" — still in DOM |
| Naming convention enforced before saving | ✅ | Run TF-09 validator on new name before saving |

---

## Implementation Notes

- The master form should be locked / read-only for regular Marketing Users — only MA Admin can edit it
- A versioning tag should be applied when the master is updated: `C01-F01-v2`, `C01-F01-v3`
- All campaign duplicates should note which master version they were based on (use `CONS_exact_form_version` field)
- Consider building a Slack/email notification when the master is updated, prompting users to review their duplicates
