My company is new to Marketo and we're setting up our channels, forms, etc. When someone downloads a piece of content, I want to know if they came via email, social media, organic web, etc. Does it make more sense to have each one as its own Marketo program and related SFDC campaign? Like Whitepaper 2020 - Social; Whitepaper 2020 - Email; etc. Or to use the campaign member status to show how they responded? Like "Responded - Social" "Responded - Email" Responded - Organic" etc?
I think in either case we will use UTM parameters to tell us how they got there so the question is really more about do we add them to SFDC in separate campaigns or with separate statuses?
Well, I would certainly not create as many Marketo programs/Salesforce campaigns as you have sources. Using Campaign Member Statuses in Salesforce for sources is not a bad idea, yet not the common use case for this status. Usually they rather represent progression statuses like "Sent", "Responded" or "Registered", "Attended" and the like.
How do you use "Lead Source" in Salesforce? Usually - at least in the instances I worked in - "Lead Source" is copied from the lead/contact to the Campaign Member, so you could see various sources in your campaign reporting.
If you use "Lead Source" more statically though and don't allow it to ever change, think about "Lead Source - Most Recent" as the field to stamp onto the Campaign Member.
I considered this but realized then it would be difficult to review content and understand the source of downloads. If someone downloads 3 whitepapers for instance, I'd potentially have the source for the 1st (original source) and the 3rd (most recent) but not for the 2nd.
Why would you not do a program per source? Scalability? Or is there a technical problem I am not thinking of?
Just scalability. I like it when Marketo programs have a 1-to-1 relationship to content items. Tokens pretty much demand that.
And we had a Salesforce instance once with ~50k campaigns, because we did exactly that.
And regarding sources: Our Salesforce stamps Lead Source onto the Campaign Member object the moment the member is created and no override is allowed. So that works fine from a reporting perspective.
We use UTM fields extensively to track what's driving program membership, then we have a Process Builder that puts the UTM fields on the Campaign Member object.