Have you ever used Marketo Engage Program Member Custom Fields? How about syncing Program Member Custom Fields (PMCFs) to Salesforce Campaign Member Fields (CMFs)? Yeah, that’s a mouthful. In this blog post, we’ll cover the specifics of how PMCFs sync to CMFs, some key considerations, and expected behavior so you can take advantage of this new powerful feature.
Pre-Requisites
- Enable the Salesforce Campaign Sync in Marketo Admin
- Create Program Member Custom Fields in Marketo
- Create Campaign Member Custom Fields in Salesforce – NOTE! These fields would live on the Campaign Member Object, not the Campaign Object. Think of it this way: the Campaign Member Object contains data pertaining to the Campaign Member Record (i.e. the Lead or Contact), whereas the Campaign Object has fields that relate to the Campaign itself.
Setting Up the Sync
With the above complete, you can now map Marketo Program Member Custom Fields to Salesforce Campaign Member Custom Fields within Marketo Admin under the Salesforce section. All Salesforce CMFs available to the Marketo Sync User will appear in the dialogue box for you to map to establish a bi-directional sync between the fields in each system.
Key Considerations
- You are limited to 20 PMCFs in Marketo – choose your data points wisely!
- PMCF fields cannot have the same Label or API Name as a field on the Marketo Person object
- PMCFs can only be certain field types: boolean, date, datetime, float, integer, string, URL (note Text Area is not an option)
- PMCF and CMF field types must match – date can only map to date, string can only map to string, etc.
- You may map PMCFs to picklist fields in Salesforce – IMPORTANT! You should not specify a default value for the picklist in Salesforce. Default values might wipe out data from PMCFs because Salesforce will win the data discrepancy and overwrite data coming into Salesforce CMFs from Marketo PMCFs.
How it Works
In order to sync data between PMCFs and CMFs, the following has to happen:
- Records you want to sync must be members of your Marketo program.
- Members in the program must have the PMCFs for that program update with the appropriate values. Remember, PMCFs are related to the Program Object.
- The Marketo Program must be connected 1:1 with the Salesforce Campaign via the Setup tab in the Marketo program. You cannot sync PMCFs with CMFs by syncing Marketo Programs with Salesforce Campaigns via smart campaign flow steps. For more information, see this blog post.
Example
Here’s one common scenario leveraging PMCFs and SFDC CMFs: let’s say we want to track what UTM parameters drove someone to convert in our program. This is going to be different per campaign, so it’s not suitable to track this as a field on the person record because this is a one-to-many relationship and we don’t want data to be overwritten. Instead, we can capture this data in PMCFs and CMFs. The goal is to ultimately get this information into SFDC so our sales team can have more intelligent conversations with leads.
Setup:
- Marketo Program is synced with an SFDC Campaign
- Marketo Form captures UTM parameters:
- Marketo Program listens for form fillouts and changes Program Status, adding the person to the SFDC Campaign
- Smart campaign writes UTMs from the person record into the PMCF field
- PMCF syncs with SFDC CMF and appears in Salesforce!
Expected Sync Behavior
Here’s a handy cheat sheet that outlines the expected behavior in each scenario where PMCFs or CMFs may be updated.
Scenario
|
Action
|
Expected Behavior
|
|
Flow Step: Change Program Status
|
- Record added to Marketo Program
- Record is synced to Salesforce immediately and added to the corresponding Salesforce Campaign
|
Record is NOT a Marketo Program Member
|
Flow Step: Change Program Member Data
|
- Nothing happens. Records must be Marketo Program members before PMCF data can be changed.
|
Marketo Form Fillout: Local Form with PMCFs on Local Landing Page
|
- Record added to Marketo Program with PMCF data from form fillout
- Record is synced to Salesforce immediately and added to the corresponding Salesforce Campaign with the appropriate status and CMF data from the PMCFs
|
Salesforce Action: Record Added to Salesforce Campaign
|
- Campaign Member Record synced to Marketo Program as a Member
- If CMFs are updated by the Salesforce user, these will sync down to the Marketo PMCFs
|
Record is a Marketo Program Member
|
Flow Step: Change Program Status
|
- Record is updated in the Marketo Program with the appropriate Status
- Record is synced to Salesforce immediately and updated in the corresponding Salesforce Campaign with the appropriate status
|
Flow Step: Change Program Member Data
|
- Marketo PMCF fields are updated with the new value specified in the flow step
- Salesforce CMF is updated by Marketo
|
Marketo Form Fillout with PMCFs in the Form
|
- Marketo PMCFs are updated with the new value specified in the form fillout
- Salesforce CMF is updated by Marketo
|
Salesforce Action: CMFs Updated on Campaign Member Record in Salesforce
|
- Salesforce CMFs sync down to the Marketo PMCFs
|
There are so many use cases for PMCFs and SFDC CMFs. I hope you found this article helpful and exciting to get you started! For more Salesforce Sync Deep Dives, be sure to check out Part I – Sync to SFDC Flow Step and Part II – Salesforce Campaign Sync Options.