When a customer unsubscribes from an email sent through Marketo, you can make sure that Intercom keeps their unsubscribe status in sync. Likewise, when a customer unsubscribes from an Intercom email, their unsubscribe status will sync with Marketo too. This article explains how to set up two-way unsubscribe syncing between Intercom and Marketo so you don't risk sending emails to people who don't want them. Note: Check which Intercom plan you're on to confirm the Marketo App is available to you before getting started.
Step 1: Install the Marketo App in Intercom
Open the app store in Intercom.
Then click on the Marketo app and install it.
You'll be prompted to log in to your Marketo account and get your Client ID and Client Secret (the credentials that authenticate your Marketo account) and your Endpoint URL (the base URL for your Marketo REST API instance). Copy these values and paste them into the relevant fields in your Intercom setup.
Click 'Verify and start syncing.' Once verified, your customers' unsubscribe status will be synced from Intercom to Marketo. That completes the Intercom-to-Marketo direction. To also sync unsubscribes from Marketo to Intercom, follow the steps below.
To sync your customers' unsubscribe status from Marketo to Intercom, you need to create a webhook in Marketo. A webhook is an automated HTTP request that Marketo sends to Intercom whenever a customer unsubscribes, so Intercom can update their status in real time.
Step 2: Create a Marketo webhook
To sync unsubscribes from Marketo to Intercom, create a webhook — an automated notification that Marketo sends to Intercom whenever a customer unsubscribes. In Marketo, navigate to Admin > Webhooks > New Webhook, then configure the following fields:
Webhook name: enter a descriptive name, such as "Intercom Unsubscribe Sync".
URL: enter your Intercom webhook endpoint URL. You can find this in your Intercom Marketo App settings.
HTTP method: select POST.
Then set the remaining options:
Response type, select 'None'.
Request token encoding, select 'Form/Url'.
Template:
type=unsubscribe&secret=YOUR_SECRET&app_id=YOUR_APP_ID&data[email]={{lead.Email Address:default=null}}— replaceYOUR_SECRETwith the secret key shown in your Intercom Marketo App settings, and replaceYOUR_APP_IDwith your Intercom app ID (visible in your workspace URL or Intercom app settings).
Step 3: Create a Smart Campaign in Marketo
In Marketo, go to Marketing Activities > select a promotion > New Local Asset to create a new Smart Campaign. This campaign will watch for unsubscribe events and trigger the webhook you created in Step 2.
Step 4: Set up the Smart Campaign SmartList
In the SmartList tab of your Smart Campaign, drag and drop "Unsubscribe from emails" from the right column into the main area.
Select "Email is any".
This configures the SmartList to capture all customers who unsubscribe from any email in the campaign, so they can be synced to Intercom.
Step 5: Build the Smart Campaign Flow
In the Flow tab of your Smart Campaign, add a "Call Webhook" flow step. Select the Intercom Unsubscribe Sync webhook you created in Step 2. This will trigger the webhook each time a customer matches the SmartList criteria (i.e. unsubscribes from an email), sending their unsubscribe status to Intercom automatically.
Important: Only future unsubscribes will be synced automatically. If you have existing unsubscribes in Marketo that predate this setup, you need to manually update them in Intercom using the Intercom REST API. Refer to the Intercom developer documentation for guidance on bulk-updating subscription statuses.
If you already have the Mailchimp sync integrated, you won't be able to install the Marketo integration too. You'll need to uninstall the Mailchimp App first.
Need more help? Get support from our Community Forum
Find answers and get help from Intercom Support and Community Experts




