Campaigns in Salesforce

SOLVE
Occasional Contributor

Hello!

 

So for Hubspot and Salesforce, I want to ensure that my lead creation is associated with a campaign in Salesforce. If I upload a lead list, how can I automatically relate those to an existing Salesforce campaign? For example, I receive a several lists of leads from people that signed up at our booths at an event. How can I assosicate those in Salesforce with a campaign created for that event?

 

Thanks,


Scott

1 Accepted solution

Accepted Solutions
Highlighted
Top Advisor

Hi, @SalesforceScott. Depending on how often you need to do this, it may be easier to start in Salesforce. 

 

HubSpot workflows will allow you to set Salesforce campaign membership with a campaign member status. This is the only place in-app you'll be able to set both of these values. While you wouldn't be able to do this explicitly in just a list import - you'd have to import the list, then build a workflow to act on all contacts in that list. If this is something you need to do on a semi-periodic or ongoing basis, you can set up the HubSpot workflow to fire, based on specific data you import. 

 

If a record is already syncing between HubSpot and Salesforce, then any new campaign enrollment on the Salesforce side syncs back to HubSpot. (However, only the campaign IDs are stored in a HubSpot property. No HubSpot property will house the campaign member status value on any associated Salesforce campaign.)

 

Depending on your use case, it may be easier to do the campaign association directly within Salesforce, rather than the import-and-run-them-through-a-workflow steps in HS.

8 Replies
Highlighted
Top Advisor

Hi, @SalesforceScott. Depending on how often you need to do this, it may be easier to start in Salesforce. 

 

HubSpot workflows will allow you to set Salesforce campaign membership with a campaign member status. This is the only place in-app you'll be able to set both of these values. While you wouldn't be able to do this explicitly in just a list import - you'd have to import the list, then build a workflow to act on all contacts in that list. If this is something you need to do on a semi-periodic or ongoing basis, you can set up the HubSpot workflow to fire, based on specific data you import. 

 

If a record is already syncing between HubSpot and Salesforce, then any new campaign enrollment on the Salesforce side syncs back to HubSpot. (However, only the campaign IDs are stored in a HubSpot property. No HubSpot property will house the campaign member status value on any associated Salesforce campaign.)

 

Depending on your use case, it may be easier to do the campaign association directly within Salesforce, rather than the import-and-run-them-through-a-workflow steps in HS.

Occasional Contributor

Thank you very much!

Reply
0 Upvotes
Occasional Contributor

Hey, 


I have a similar case which is why I'm posting here, but my difference is that I dont want to set campaign status' in Salesforce from HubSpot, I want to be able to import the campaign member status from a Salesforce campaign into HubSpot. Is that possible? I know that you had written this in your response earlier: 

 

"If a record is already syncing between HubSpot and Salesforce, then any new campaign enrollment on the Salesforce side syncs back to HubSpot. (However, only the campaign IDs are stored in a HubSpot property. No HubSpot property will house the campaign member status value on any associated Salesforce campaign.)"

 

If I create a custom field for that campaign member contact in Salesforce and Create a custom property in HubSpot, and sync the two would that be a good workaround?

 

Please let me know what your thoughts are. I've been researching this for a while and haven't been able to come up with a workaround. If i do a simple Salesforce import based on campaigns, it does not import the campaign member status.

 

Best,

Dawit

Reply
0 Upvotes
Top Advisor

Hi, @dtesfaye. The issue is that you have a 1:many relationship representing campaign member enrollment in Salesforce, and no such relationship exists in HubSpot.

 

Say there was a solution for one campaign. It'd work great for that one use case, but what happens on the second? The third? How are you going to fit multiple campaign member statuses into a single HubSpot contact property? Is it going to be something where the value changes over time? What happens if someone gets the same campaign member status on two separate campaigns? 

 

These kinds of challenges arise because the way that data fits into Salesforce isn't a way it can fit natively in HubSpot, connector or no connector. The best you'd be able to do is push the most recent campaign member status onto a lead or contact field, mapped to HubSpot. Even then, you'd only get the most recent campaign member status appearing. 

 

If there's really just one key Salesforce campaign that matters to contacts syncing between HubSpot and Salesforce, you may have some options. Just not if it's more than that.

Reply
0 Upvotes
Occasional Contributor

I realized I commented on the other post as well, sorry for being all over the place. You have been extremely helpful and I am finding the same issue that you bring up. I believe it may be a lot easier to reverse the my clients workflow (they are used to entering data in Salesforce first and want it to sync to HubSpot - through member campaigns). It may be easier to have them enter the contact record and all info in HubSpot first and use workflows to push member status' to Salesforce. I'll reach back out if I somehow figure out a workaround, but you are right the most recent member status push to HS custom field looks like the only way to go about this.

Top Advisor

@dtesfaye, spent some more time thinking about this, and I think the following scheme - while still a little unwieldy - could be workable. 

 

Create a long text field on leads and contacts first. Create Process Builder automation on the CampaignMember object, firing on create only. You'll need one branch for when the associated campaign member is a lead, and another for when it's a contact. The resultant action concatenates the name of the campaign (or an abbreviated name) and its status, delimited by whatever value you want.

 

What this will do is concatenate every campaign-campaign member value (which is unique to the lead or contact) into one long string, on leads or contacts. You'd then be able to segment or automate when your concatenated string contains desired value(s). 

 

This isn't elegant, and over time, it certainly wouldn't be readable. Solutions trying to make two different data types compatible are often unglamorous.

 

But it should work, for whatever value a solution like that would provide. 

Occasional Contributor

I've always created my campaigns - and specifically the offline tradeshow campaigns in Salesforce and associated there.

Reply
0 Upvotes
Top Advisor

Yeah, campaign member association in either Salesforce or HubSpot will work just fine; it's a matter of what's the easiest to set up and maintain. 

 

Are your Salesforce campaigns more ad-hoc? It might be easier to use the campaign member interface in Salesforce, or even using workflow rules/Process Builder automation/flows situationally. Do you want your campaign enrollment to be triggered by actions specifically taken within the HubSpot platform, or from marketing automation actions? It may be easier building a workflow in HubSpot which handles the enrollment for you. 

 

Think about the use case, whether this is something which would need to be ongoing versus one-time, and handle the assignments accordingly. 

Reply
0 Upvotes