Marketo as a data source

Learn how to use Marketo lead data to personalize Docs.

Radovan Vidović avatar
Written by Radovan Vidović
Updated over a week ago

This feature is available if you have purchased the Personalization module and are on a Professional or Unlimited plan. Please get in touch with your renewals manager or account manager if you are interested.

Data Sources are used to pull data from external systems into personalization forms and push these personalizations back into the CRM. Learn more about data sources here.

This article will explain how to configure your Marketo integration to automate personalizations in the following steps:

1. Request to enable Turtl API

Contact your Customer Success Manager or to get Turtl API enabled on your account

2. Setup Turtl for Automation

Navigate to your Marketo Rest integration in Turtl and confirm that it is working properly. Be sure that the correct Marketo instance is connected.

Click on Setup for Automation:

3. Prepare a Turtl Doc for personalization

3.1 Navigate to the Doc you’d like to set up for personalization. In this example, we will create a personalization form that has three tokens: firstName, lastName, and company. These tokens will be added to single-line fields. Click here for more information on personalization form fields.

For each personalization field, you will need to configure the ‘Prefill Value’ so that it is mapped to the Marketo property you would like personalized in your Doc.

To do this, select the lightning icon next to the Prefill Value field:

Here you will be prompted to select the CRM to extract data from. Select Marketo and then choose the Marketo property to map to your personalization field. For example, I will map the First Name property to the firstName field, the Last name property to the lastName field, and the Company property to the company field:

Once the property is selected, it is recommended to add a contact Id from your Marketo database to test that the property is successfully configured. Follow this article to learn more about how to extract the contact Id from Marketo.

When the contact Id is added you will be able to see the property value appear in the field below:

Finally, select OK to save the changes.

3.2 Once both the personalization form and Doc are completed, publish your Doc and click the Share button.

Within the share options, select the API tab and note the automation URL.

Note: Each Doc has a unique automation URL. Follow this article to learn more about automation URLs.

4. Setting up Marketo Custom Objects

4.1 To view Turtl personalizations created for specific contacts, you will need to create a Custom Object with specific fields. Follow this Marketo article for more information on how to create the Custom Object.

Note: You can title the custom object however you prefer, but the API Name must be: turtlPersonalizedDoc

4.2 When the Custom Object is created, you will need to add 10 Custom Object Fields. Follow this article for more instructions on how to add fields.

The details needed for each field are listed below:

Display Name: Turtl Doc ID
API Name: doc_id
Description: Turtl Doc ID
Data Type: String
Dedupe Field: NO
Display Name: Turtl Doc URL
API Name: doc_url
Description: Turtl Doc URL
Data Type: String
Dedupe Field: NO
Display Name: Turtl Doc Title
API Name: doc_title
Description: Turtl Doc Title
Data Type: String
Dedupe Field: NO
Display Name: Personalization ID
API Name: pid
Description: Personalization ID
Data Type: String
Dedupe Field: YES

(Note the Personalization ID field is the only field where Dedupe is toggled to YES)

Display Name: Personalized Doc Title
API Name: personalized_title
Description: Personalized Doc Title
Data Type: String
Dedupe Field: NO
Display Name: Personalized Doc cover image URL
API Name: personalized_cover_image_url
Description: Personalized Doc cover image URL
Data Type: String
Dedupe Field: NO
Display Name: Personalized Doc cover teaser URL
API Name: personalized_cover_teaser_url
Description: Personalized Doc cover teaser URL
Data Type: String
Dedupe Field: NO
Display Name: Personalized Doc twitter image URL
API Name: personalized_twitter_image_url
Description: Personalized Doc twitter image URL
Data Type: String
Dedupe Field: NO
Display Name: Personalized Doc facebook image URL
API Name: personalized_facebook_image_url
Description: Personalized Doc facebook image URL
Data Type: String
Dedupe Field: NO
Display Name: Lead ID
API Name: leadID
Description: Link field to Lead object
Data Type: Link
Link Object: Person
Link Field: Id
Dedupe Field: NO

Example of the Lead ID field:

Example of how the fields will look once created and approved:

5. Setup Marketo Webhooks and Campaign

Your Marketo campaign will designate when a personalization will be created and what data will be used.

5.1 First you will need to create a Marketo Webhook for the Turtl Doc created in step 3. You will need to create a Marketo Webhook for each Doc you want to personalize with Marketo.

In the URL field, enter the Turtl webhook found in your Doc's share options (described in step 3.2) and add the following parameter to the end:


This parameter will allow you to obtain your contact's data that is stored in Marketo.

5.2 Once your webhook is created you will need to add the following as a Custom Header. To do this, navigate to 'Webhook Actions' and select 'Set Custom Header'.

Header: Content-Type
Value: application/json

5.3 Next create a Marketo Program.

Note: This step is optional. You can choose to create a new program or use one that is already made.

5.4 Within your Marketo Program, create a New Smart Campaign. Add a proper Campaign Name, then select ‘Create’:

5.5 In your new Smart campaign, navigate to the ‘Smart List’ tab - this is where you will define which contacts this campaign will affect. In our example we want to create a personalization for all contacts who submitted a specific form:

5.6 Navigate to the ‘Flow’ tab - this is where we will define the campaign action and steps. Here you will need to call the webhook created in step 5.1:

5.7 Finally, the last step is to activate your campaign within the ‘Schedule’ tab:

6. Test your Marketo Campaign

6.1 Now that Turtl and Marketo are both setup, you can test that personalizations are being created properly by running through your activated Marketo Campaign.

Navigate to the Results tab within the campaign to view the results:

6.2 To view a specific personalization created, select the contact's name to open the contact dashboard in a new tab. In the contact dashboard, navigate to the 'Activity' tab to ensure the person has been added to the Custom Object created in step 4:

6.3 Next, click on the 'Custom Objects' tab and select the Custom Object you created. Here you will be able to see information about the newly created personalization for your lead! You can share with your contact the URL to the personalization, as well as the teaser gif:

Follow the link to the personalized Turtl Doc URL to ensure the Doc is personalized properly:

6.4 You can also view the personalizations in Turtl within the 'All personalizations' tab. These personalizations will be created by Webhook Personalizer:


The personalization engine is protected by US patents.

Did this answer your question?