I'm sending an email to a Campaign from Content Builder. That is, I select Salesforce Audiences > Salesforce Campaigns > [campaign name] as the Audience when I send the email.

This works fine, but I can't figure out the required syntax for personalization strings (or attribute values for that matter).

I note that if I use the personalization string %%First Name%%, then Marketing Cloud uses the First Name value of the Contact (who is a Campaign Member in the selected Campaign). However, I can't figure out how to retrieve other fields on the CampaignMember Object. For example, I would like to use the CampaignMember Id.

I have seen this answer which states that the CampaignId value is available.

So, do I really need to use the RetrieveSalesforceObjects function to lookup the Id from the CampaignMember object, based on AttributeValue('CampaignId') (where ContactId == _subscriberKey), or am I missing something?

It's also frustrating that there's no way to preview records when sending to a Salesforce Campaign (like you can do with Data Extensions). You just have to hit send and hope that it works...

1 Answer 1


When you do a send to a Campaign, a data extension is created in the root Data Extensions folder with the audience to be sent. From there you can see the standard Campaign/Member fields available for personalization in the email for those sends.

SF Campaign send schema

Any data points not present will have to be retrieved with RetrieveSalesforceObjects, as you suggested.

You can also preview against this data once a send has been completed.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .