Predictive Insights’ solution for Marketo utilizes the power of AI and predictive analytics to score and enrich your leads within Marketo in real-time, as well as push lists of leads from the Predictive Insights platform into Marketo. Predictive Insights leverages your data and combines it with Predictive Insights’ vast database to enable multi-dimensional predictive scoring. As a certified LaunchPoint partner, Predictive Insights’ native integration with Marketo extends the value of Predictive Insights AI-driven intelligence directly into your Marketo-based Marketing workflows, smart campaigns, and lead management processes. This guide will walk you through the required steps to set up the integration between your Predictive Insights platform instance and your Marketo instance. Following an initial configuration to establish the connection between Marketo and the Predictive Insights platform, the guide details the integration phases in detail. In practice, this integration is executed through a synchronized REST API, using Marketo Webhooks which are connected to Predictive Insights Markets (i.e., “predictive models”). Each Webhook is connected to one Market.
Setup Process Outline
Create an API user in Marketo to be assigned all API permissions
Create a new custom LaunchPoint service and assign the API user to it
Configure Predictive Insights
Turn on Marketo integration in the External Platforms menu and follow the connection instructions in the pop-up window
Create fields in Marketo
Set up the outgoing and incoming fields for integration in the Market Integration menu for the chosen Market in the Predictive Insights platform
Create a new Webhook for each Predictive Insights Market in Marketo
Populate the fields by using the data in the Market Integration screen in Predictive Insights
Map the insights coming in from Predictive Insights
Create and set up a Smart Campaign that calls Predictive Insights Webhook(s)
Test by sending a few leads and checking in the logs to see if the data passed
Create a “fail-safe” Smart Campaign that picks up failed requests and runs them again
(Optional) Create a Smart Campaign for Batch Update
Several configuration actions that must be taken before the Predictive Insights-Marketo integration can be set up. These configurations should be done by an administrator in both systems, preferably the person who will own the integration process.
1. Create a user in Marketo:
This creates an API User that enables Anaplan Mintigo Predictive Insights LaunchPoint activities. This User does not require an active email address.
Go to Admin →Security →Users & Roles →Invite New User
a. Step 1: Info
i. Provide indicative details. Note that the provided email address will not be used for mailing purposes.
ii. Click Next.
b. Step 2: Permissions
i. Select a role that includes all of the API permissions (e.g. API role with ABM)
ii. Check the API Only box
iii. Click Next
c. Step 3: Message
i. Click Send
2. Create a new LaunchPoint service
Go to Admin →Integrations →LaunchPoint →New →New Service
Provide an indicative display name and description
From the Service dropdown menu, select Custom
From the API Only User dropdown menu, select the user created in the previous step
* The next step will require you to copy two fields from the LaunchPoint page, so leave it open.
Predictive Insights Platform Configuration
1. Connect to Marketo
Go to Settings--> External Platforms
a. Turn on the Marketo toggle button
b. A pop-up window will appear asking for Marketo ID information. Follow the instructions described in the window.
c. Click Check Connection and Save.
2. Enable Insights for Integration
Each market transmits only the set of insights enabled for enrichment.
Go to the Enrichment tab for the desired Market and turn on each Insight you want to integrate by clicking Enable for Export at the bottom of the Insight tile.
Through the triple-dot menu at the top right corner of the Market screen, go to the Market Integrations screen. In this screen click on the Marketo RT tab
In the Exportable MIs box select insights to send to Marketo as part of the API response. Note that you can add all the insightsenabled for export for a given Market using the Add All Exportable MIs button.
In the Records Columns box select any desired fields related to lead information or metadata, including score and rank.
Marketo Integration Setup
After establishing the connection between the two systems in the Configuration step, set up the fields to store Predictive Insights data within Marketo and indicate how and when to transfer information.The integration setup includes the following steps:
Create New Webhook.
Set Up Smart Campaign.
Create a "Fail-Safe" Smart Campaign.
Create a Smart Campaign for Batch Update (optional).
Following the selection of the Predictive Insights, first in the Enrichment tab and then in the Market Integrations screen of the Predictive Insights Platform, then create equivalent fields in Marketo. This will permit Predictive Insights data to be accurately populated in the corresponding Marketo fields.
Important Notes Before You Begin:
The Marketofield types should align with the Predictive Insightsfield type. While most Predictive Insights are Boolean, some are categorical (text). Also, the Mintigo -Predictive Lead Score field is numerical.
Many Mintigo users opt to create new fields in SFDC and then automatically sync to Marketo to ensure consistency between both systems.
It is best practice to add a prefix such as “MI -” or “Predictive Insights-” to all MI fields created in Marketo to quickly identify which fields contain Predictive Insights data.
The Marketo field name need not match exactly the name of the Predictive Insight. Any name that communicates the meaning of the insight is fine.
Up to 95 insights can be configured per Webhook. Please contact your CXM if there are issues with this limitation.
Marketo RT Tab Setup
Configure Fields for Enrichment
1. Map Input Fields for Enrichment
This will define what fields Predictive Insights will be expecting to receive from Marketo when sending a lead for enrichment. Best practice is to map all the fields that have the asterisk next to them since that means these fields were used when the Market was built. It is also possible to map any fields used for matching even if they are not in the original data such as-Email Address (even if account Market), Company Name, Domain, Country, State, City, Zip code, and company phone. Note this could lead to slightly different matches than what was matched to these companies in the model.
2. Exportable Insights
This box shows all the Insights that will be sent from Predictive Insights back to Marketo through the single lead integration. (See Fig. 5) By clicking on the open space in the box, a dropdown list of MIs will appear. Choose all the Insights that you are interested in having sent to your Marketo system (those should be the ones you created fields for in Marketo). The list of available MIs to pick for this box is populated only by the MIs that were activated as Exportable in the Enrichment tab. In other words, this group of MIs will be a sub group of all the exportable MIs for this Market.
You can choose more than one at a time by holding the Ctrl key while clicking on items on the list.
It is possible to type a name of an Insightto find it straight away.
Add All Exportable MIs: By clicking the button that is just above the box, you will be able to avoid clicking all of the Mis if you wish. That can be very useful, just be sure you only have MIs you want in the list of Exportable MIs.
Copy Exportable MIs and record columns-Allows you to copy MI setup from a different type of integration in the same Market (one of the other tabs in this page). For example, if you have already set up Insights in the Async Bulk API and now you want to have the same MIs in your Marketo setup, all you need to do is to select the right integration in the dropdown field and then click the Copy button.
3. Record Columns
Similar to the top box, you can choose Insights to be sent to Marketo for the enrichment. In here, you can pick the indicators that are related to the record itself and not to the company for which the record was matched to. This information is related to the data sent for enrichment, so most of these Insights are on the metadata level. Common fields used in this box: Predictive Insights Account Score, Predictive InsightsAccount Rank, Webmail Email address, Predictive Insights–Company ID, Created On, Valid Company Domain
4. Persist Data - ON
Keeping this on means that leads that are sent to Predictive Insights are also kept in a specific list under this Market. This list is exportable, so it allows for a list of all previous enriched leads to be always available. In addition, data from the records is used to improve matching and coverage in the Predictive Insights database. Predictive Insights does not add the data sent to it from customers to the Predictive Insights database, just uses it in order to direct its own data collection.
Once the data is added, click the Save button in order to keep it. Without saving, changes will not be committed.
6. Market Integration - ON
Toggle this switch on to enable the integration between the systems for this Market. This will not actively start any integration actions but will allow Predictive Insights to respond to future enrichment calls to this Market.
After the setup is complete, you will be able to access the information needed to setup the Webhook.
Configure API Connection
1. Download Field Mapping - clicking this button will initiate a download of a CSV file holding the mapping information you need for Marketo. The table in the file has three columns:
MI Name-The name of the Insight that will be exported from Predictive Insights. This is the same name that in shown in the Enrichment tab
Fields Type-Describes the type. A field can be Boolean, Text, or Number
Response Field Name-This is the internal field name that will be used in the API response, and the value you will need to paste in the Webbook’s Response Mapping section in the Response Attribute column (further explanation below)
2. View Payload - will lead to a pop up window with this information:
API URL-holds the URL that Marketo will use in order to call Predictive Insights. Use this field for the URL field in the Marketo Webhook setup
MarketID-No use for this field in regular setup since it is already part of the URL
Request Payload-This box describes the structure for which Marketo will fill a Webhook call with a lead’s information in order to send it to Predictive Insights. Use this field for the Template field in the Marketo Webhook setup
Create New Webhook
Marketo uses Webhooks in order to communicate with third party services such as Predictive Insights. Webhooks support the use of GET and POST HTTP request methods to push or retrieve data from a given URL. In Marketo, a campaign will use a Webhook for the action of sending lead information and receiving the scoring and enrichment for that lead.
1. Enter Connection Information
In order to create a new Webhook in Marketo, follow the steps listed below:
Go to Admin --> Integrations --> Webhooks --> New Webhook
a. Webhook Name: Name the Webhook
b. URL: The WebhookURL value should be copied from the Predictive Insights platform-In the Market Integrations screen, go to the Marketo RT tab and click the View Payload button
c. Request Type: Select POST
d. Template: The payload template value should be copied from the Market Integrations screen-go to the Marketo RT tab and click the View Payload button. Copy the text box under Request Payload
e.Request Token Encoding: Select JSON
f. Response Type: Select XML
g. Click Create
2. Field Mapping
Next, the newly created Marketo fields needs to be mapped to their corresponding Predictive Insights. Make sure you have the table from the Predictive Insights platform that describes the fields names, their types and their sync names. This can be downloaded from the Marketing Integration menu, by clicking the Download Field Mappingbutton.
a. Pick the Webhook you just created in the menu to the side (note that Marketo has the tendency to jump back to the first Webhook in the menu) and edit the Response Mapping for the Predictive Insights field
b. Add a field and choose the corresponding Marketo field.
The Predictive Insights field format is data.field_name. The Marketo fields names are shown in their API format and not in the Friendly Label (normal name) format.
Save frequently! If you encounter an error, you will be required to go through the process again.
Make sure that all field types match. The field types are detailed in the Field Mapping file which can be downloaded from the Market Integrations screen in the Predictive Insights platform.
In case where more than one Webhook is needed (for integration with more than one Market for instance), using the Clone Webhook will allow an easier setup.
This concludes the setup of the integration connection. The following steps describe how and where records are enriched within Marketo.
Smart Campaign Setup
A Smart Campaign is required in order to call the Webhook. In practice, the Smart Campaign initiates the activation of the Webhook.
1. Create a new Smart Campaign.
a. Name the new Smart Campaign.
b. Click Create.
2. In the Smart List, choose which events would trigger the Webhook call.
Depending on the use case, the common triggers are Lead is Created, Fills Out Form, Data Value Changes.Consult your CXM for additional guidance if needed.
3. In the Flow tab, choose which actions will take place once the campaign is triggered.
Add the Call Webhook action and choose the Predictive Insights Webhook.
This step is taken in order to assure that the integration has been set up successfully and is working as expected.
Activate the Smart Campaign that was just set up from the schedule tab.
Check trigger: make an action that will activate one of the triggers.
Depending on the triggers, create a test lead/fill a form/change a value
After ~10 seconds, go to the results tab and verify that the lead you created/changed shows up in the list. The activity type should say Call Webhook and the detail will mention the Webhook name. If there was an issue, the detail column will specify a type of error
If there was no issue, click on the link in the lead name column to open the lead’s activity log
In the log, look for activity type Call Webhook. The records under it should show all the Insights that were updated. Insights that to did not update the data in their field (for example-data was False and the new data value is also False) will not show any update. If no issues are found there, the campaign should be kept on for ongoing use. The integration will update any lead activating the triggers.
Create a Fail-Safe Smart Campaign
It is possible that errors will occur in the communication between Marketo and Predictive Insights. These errors can happen because of Marketo-related issues, Predictive Insights-related issues, or connectivity problems. It is highly recommended to set up Marketo so that in case a Webhook call fails, Marketo will retry sending the call again. In most cases, these errors will be fixed in a short time period (a few minutes to a few hours). Therefore, the best solution is to create a Smart Campaign that will collect failed calls and have them sent again in within a couple of hours.
There will only be one re-try for every failed call. Marketo does not allow a simple continuous retry using a Webhook. If a group of leads was found not to have been enriched, the Batch Update can be used to enrich them assuming that the integration issue is gone.
The following steps detail how to set up such a Smart Campaign:
Create a new Smart Campaign or clone the previous Smart Campaign that was created.
In the relevant Smart List, add two actions:
Webhook is called- Webhook: Choose the Predictive InsightsWebhookGo to the corner and add a constraint for Error Type. To add types, click on the green ‘+’ sign and add three HTTP Errors: 401, 403, 404.
Member of Smart Campaign-first field is ‘not in’, the second field will have the name of the fail-safe campaign.
In the Flow, put a 2-hour wait action, and then put the same action as in the first Smart Campaign -A Call. Webhook activity that calls the Predictive Insights Webhook. If something was failing the call, we want to wait a little for it to get fixed and only then re-send the call.
In Schedule, edit the Smart Campaign Settings to run each lead through the campaign flow only once every day. The idea here is to allow leads to be enriched even if there is no availability for a longer time period.
Activate the campaign. Any failed calls will be automatically re-tried once after 2 hours.
Create a Smart Campaign for Batch Update (Optional)
If there is a need for lists of leads to be enriched (for instance: enriching all leads in the system right after first integration or when a newly purchased list comes in) there is an option to create a “Batch Update Smart Campaign” in Marketo.
Marketo does not allow a batch list call to a Webhook (a Webhook is designed for single lead triggers only). In order to overcome this, it is possible to create a Smart Campaign that receives batches (lists) and sends them to another Smart Campaign that has a Webhook. The first Smart Campaign would receive a batch and send it to the other Smart Campaign as a one-by-one list of leads, which Marketo will allow to send to the Webhook.
We are first going to create the Smart Campaign that uses the Webhook, and then create the Smart Campaign that will send leads to the Webhook Smart Campaign.
Create a new Smart Campaign (Batch Predictive Insights Enrichment2). This campaign will be identical to the regular Predictive InsightsSmart Campaign, except for in the Smart List menu where it will have the trigger Campaign is Requested. The value for the trigger will be Marketo Flow Action. Activate the Smart Campaign. It will only enrich things that are specifically sent to this campaign.
Create another Smart Campaign (Batch Predictive Insights Enrichment1). This campaign’s Smart List would have a list that needs to be sent for enrichment. If you are creating this campaign for future uses, leave this part empty.
Under Flow for the second campaign (Batch Predictive Insights Enrichment1) put the action Request Campaign. The campaign that will be requested is the campaign created in Step 1. When you want to enrich a list, go to the second campaign, and adjust the Smart List. Once you activate this campaign to run once, the campaign will take all the leads in this list and send them one-by-one to the first campaign created. This campaign will send them to the Webhook for enrichment. In case of an SFDC integration:-Create the fields in SFDC first and let the fields be created in Marketo through the sync process-Verify that the fields have been successfully created in Marketo.
Q: How can more than one Market be connected through the integration?
A: Yes, but a separate Webhook needs to be set up for each Market. Once done, the Smart Campaign will call all the created Webhooks in its Flow step. Note that each Market will generate unique scores and ranks. For this reason, set up a unique score and rank fields for each Market. This is not required for equivalent MI fields since MI values are the same regardless of the Market.
Q: I’d like to replace the integrated Market with another Market. How can the switch be done?
A: There are two options:
Create a new Webhook (refer to the Create a New Webhook section in the guide).
Edit the current Webhook according to the differences between the Markets. For instance, remove mapping fields that are not necessary or add new MIs that are expected to be returned. Note that the URL has to be edited since every URL points to at a specific Market.
Q: How do I know the data types of insights for which fields need to be created in Marketo? How should those fields be named?
A: The Marketo fields should support Predictive Insights data. Once the Insights have been selected in the Enrichment tab, they will be available for export as a list in the Market Integrations screen/Download Field Mapping button. The exported list includes the MI names and data types. The Marketo field names do not have to match the MI names in order for the integration to work, yet it is recommended to use something similar to the original name and add some Mintigo identifier before the actual name. For example-“MI –Hiring a Large Number of Employees”.
Q: I tried to send a Smart List through the Webhook and nothing seems to be happening. How can this be solved?
A: It is most likely that Marketo is preventing your leads from passing to the Webhook. Marketo does not allow lists in the same Smart Campaign as a Webhook. Please refer to the Batch Update section in the guide and follow the steps.
Q: How can I route leads to be enriched by specific Markets based on Mintigo data?
A: Multiple Webhooks have to be used. First, create a Webhook that points at a Market that serves for data enrichment purposes. Then, send the leads to be enriched in other Markets using Webhooks, based on relevant Predictive Insights. Please contact your CXM for additional support.