Setup for Campaigns
Direct, Referral, Automation, Leaderboard, and Challenge campaigns each have their own Custom Fields schema — a field created for Direct campaigns doesn't appear on Automation campaigns, and vice versa. Set up each schema from Custom Fields, exactly as described in Setting Up Custom Fields.
Entering values
Every campaign wizard/editor (Direct, Referral, Automation, Leaderboard, Challenges) has a dedicated Custom Fields step. Required fields must be filled in before the campaign can be saved.
The values entered are repeated in the wizard's Summary step for review before publishing.
The Single Campaign View shows a Custom Fields section with the saved values, the same way member profiles do.
Custom fields in webhooks
Custom field data for a campaign is included in that campaign's created and updated webhooks, using the same group → field structure as the member API response. This means downstream systems (e.g. Salesforce, a BI pipeline) receive the campaign's custom attributes without a separate lookup call.
Via the API
The same read/write pattern used for members applies to campaigns: customFields in the campaign payload (POST adds, PUT replaces), plus a dedicated partial-update endpoint:
PATCH /api/{storeCode}/custom-fields/campaign/{campaignId}The body uses the group → field structure; a field sent as null clears it, groups omitted from the payload are left untouched, and an unknown group returns a 400 validation error.
Was this helpful?

