create_merge_field
Create a custom merge field in a Mailchimp audience to store additional member data beyond default fields. Define name, type, and tag to add personalized information.
Instructions
Create a new custom merge field in an audience for storing additional member data.
Use to add custom data fields beyond the defaults (FNAME, LNAME, ADDRESS, PHONE). Once created, populate per-member via add_member/update_member using the tag name. The type cannot be changed after creation. Use list_merge_fields to check existing fields first.
Authenticated via API key. Subject to Mailchimp API rate limits (max 10 concurrent requests). Respects read-only and dry-run modes.
Args: list_id: The Mailchimp audience/list ID (e.g. 'abc123def4'). Obtain from list_audiences. name: Display name for the field (e.g. 'Company Name'). type: Field data type. Valid values: 'text', 'number', 'address', 'date', 'birthday', 'phone', 'url', 'imageurl', 'zip', 'dropdown', 'radio'. Cannot be changed after creation. tag: Short uppercase tag name (e.g. 'COMPANY'). Max 10 characters, letters and numbers only. Auto-generated from name if omitted. Used as |TAG| in email content. required: Whether the field is required when subscribing (default false). default_value: Default value for new subscribers. choices: Comma-separated choices for 'dropdown' or 'radio' types (e.g. 'Small,Medium,Large'). Required when type is 'dropdown' or 'radio'. Ignored for other types.
Returns: JSON with fields: merge_id (int, for update/delete), tag (string), name, type, required.
Example: create_merge_field(list_id="abc123", name="Company", type="text", tag="COMPANY") -> {"merge_id": 5, "tag": "COMPANY", "name": "Company", "type": "text", ...}
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| list_id | Yes | ||
| name | Yes | ||
| type | Yes | ||
| tag | No | ||
| required | No | ||
| default_value | No | ||
| choices | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |