We have an existing Marketo program to trackcontact us form submissions from our website, using the contact us channel with defined statuses. Leads filling out this form are added to the program and synced to a matching Salesforce campaign. Now, we want to track submissions coming through the same contact us form but with a specific UTM parameter (utm_campaign = special_offer) in a separate Marketo program. We’ve created a new SFDC campaign for this. To implement this, we’ll create a new Marketo program (by cloning the existing program) and add a smart campaign triggered by form fills that include the specific UTM in the query string. This campaign will update the program status and sync the lead to the new Salesforce campaign. We’ll also update the original contact us program to exclude leads with the special_offer UTM, so they don’t get added to both programs.
Does this sound like the right approach, or am I missing anything?
If I understood your scenario correctly, create that new program, then I would just add to the current smart campaign trigger flow step. Here is an example. Your status might not be exactly this, but you should get the idea.
Your approach is solid and follows best practices. Here are a few validation points and tips to fine-tune it:
Cloning and Segmenting by UTM: Creating a new program and Salesforce campaign for tracking utm_campaign=special_offer submissions is a smart way to keep segmentation clean and reporting accurate.
Smart Campaign Trigger Logic: Using a "Fills Out Form" trigger combined with a constraint for the UTM in the query string (utm_campaign contains special_offer) is a best practice. Just ensure you're using a "Querystring" constraint or capturing the UTM into a hidden form field (with URL parameter pre-fill) and referencing that field in your Smart List.
Exclusion in the Original Program: Updating your original program to exclude utm_campaign=special_offer leads is critical to avoid dual program membership and misaligned Salesforce campaign attribution. You can do this via a filter in the Smart List or a Choice flow step.
Alternative (Scalable Option): If you anticipate more use cases like this, consider leveraging Program Member Custom Fields to track UTM values at the program level. This allows for flexible reporting and attribution without needing to clone programs for each variation. Link: https://experienceleague.adobe.com/en/docs/marketo/using/product-docs/core-marketo-concepts/programs...
Hi @Nurture_Ninja According to my understanding you are using below approach:
Clone the existing Contact Us program
Create a trigger Smart Campaign in the new program:
Trigger: Fills Out Form
Filter: Querystring contains utm_campaign=special_offer
Flow:
Change Program Status
Add to SFDC Campaign (new one)
Update original Contact Us program to exclude special_offerUTM form fills using a similar filter to avoid duplicate program attribution.
Please confirm.
Thanks!!
There are so many ways you could do this:
1. You could create a custom form for this campaign and add a hidden field then trigger off that field
2. You could create a trigger on that form or campaign that adds them to SFDC