Marketo

Skip to end of metadata
Go to start of metadata

Overview

Gigya’s integration with Marketo enables easy and efficient integration of Gigya's rich, permission-based social and other profile info with Marketo's marketing automation software.

After an initial configuration of your Marketo and Gigya accounts, it automates the transfer of user social data between Gigya and Marketo (transferring data in both directions) using APIs to control transmission and receipt of data.

The integration can synchronize the entire user list between Gigya and Marketo as well as performed daily updates, including:

  •     Creating and updating users in Marketo based on information from Gigya.
  •     Updating user data in Gigya based on information from Marketo.

Integration with Marketo is a premium service and can only be activated if your site package includes Gigya's Identity Access and Storage or Registration-as-a-Service. For activation and more information, please contact your Gigya Account Manager or enter a support request on our site.

The integration with Marketo serves three main goals:

  1. Passing data regarding new and updated accounts (leads) from Gigya's Profile Management - IDS  database to Marketo. 
  2. Sending data updates to Gigya - updating Gigya accounts on unsubscribed users and other profile changes.
  3. Syncing cookies between Gigya and Marketo for associating anonymous leads (users who have not logged in), to registered users.

Integration is performed by transferring values from Gigya user account fields such as name, age, address or email to corresponding fields on the target system. The integration supports native single value fields, such as name or email address, as well as complex custom fields such as Facebook likes or favorites.

Integration Requirements

The integration between Gigya and Marketo requires the following steps to set up:

Testing Results

Your customer support team can run  tests to ensure data integration was successful from Gigya into Marketo and vice versa. To test that the munchkin integration is correct and lead tracking is configured correctly, please contact your Marketo support team.

Marketo Configuration

Defining Custom Fields in Marketo

Throughout the configuration of your Marketo account to integrate data with Gigya, you will have to define a few custom fields for Marketo to hold custom data obtained from Gigya.
This section describes generically how to add custom fields to the Lead database in Marketo. 

  • Go to the admin panel by clicking on  on the top right navigation bar.
  • Select Field Management from the list:

  • From the Field Actions menu select New Custom Field:

  • A new custom field dialog will open, with the fields: Type, Name and API Name.
    • For Type select the type of field that you wish to create.
    • Under Name enter the name of your new field. You will notice that when you type in the name, the API Name field will be filled automatically with the name of the field. You can change it or leave it as is, just note that this is the reference to the field when performing data updates (the API Name should be used when mapping fields between Gigya and Marketo).

  • Click Create and you're done. The new field is now a part of the lead info in Marketo.

Adding a Gigya User ID to the Leads Info Fields

First you should add a field for the Gigya ID to the lead info database in your Marketo account. Transfers of data from Marketo to Gigya are faster and more effective if Marketo contacts also hold their Gigya user ID. 

To do so, follow the simple steps described in the Defining custom fields section:

  • Under Type, select String.
  • Under Name, enter GUID.

Click Create and you're done. The GUID field is now a part of the lead info in Marketo.

In the Field mapping section, make sure to map the API name to the corresponding Gigya field (i.e gUID = UID).

Defining Custom Fields for Storing Facebook Likes and Favorites

In order to integrate social data on user likes and favorites from Gigya to Marketo, you need to define these as Custom fields in Marketo. Follow the steps described in the Defining custom fields section:

  • Under Type, select Text area.
  • Under Name, enter Likes. You can name the field however you like, although it is recommended to select a name that describes the value of the field, for example: Likes or fbLikes for likes.

Click Create to add the field to the lead info database in Marketo.

In the Field mapping section, make sure to map the API name of the newly created field to the corresponding Gigya field (i.e. Likes = profile.likes).

Data Required for Gigya Configuration

The data integration happens automatically, once set up, at predefined times. To configure the integration, you will need to provide your Gigya Implementation Consultant with the following information:

RequiredNameTypeDescription
  YesmarketoUserIdstringUser ID in Marketo.
YesmarketoSecretKeystringUser account secret key from Marketo.
YessoapUrlstringThe personal API URL associated with the user, obtained from the Marketo admin control panel.
Yesesp.update.hournumericThe time of day that the outbound synchronization will run (i.e Data updates form Gigya to Marketo).
Yesesp.sync.unsubscribed.hournumericThe time of day to retrieve inbound updates from Marketo (e.g updates on unsubscribed users).
Yes[fieldMapping]string set

For names of Marketo fields for mapping see the Marketo Field Mapping section. These are taken from the  SOAP API Name column of the Excel created when you export field names.

  Note: The GUID field created as described and Email are required in the field mapping.

For example:

gUID=UID
 Email=profile.email 
 First Name=profile.firstName
 Last Name=profile.lastName
 Gender=profile.gender
 Country=profile.country
 city=profile.city
 birthDay=profile.birthDay
 birthMonth=profile.birthMonth
 birthYear=profile.birthYear

Where gUID is the Marketo field that holds the user's Gigya user ID, and UID is the name of the user's ID at Gigya.


Note that each output field must map to a single field in the destination partner's platform.
No ae.filterClausestringAn SQL-like query specifying the data to retrieve from Gigya on outbound data transfers. Please refer to the filter criteria in the Identity Query Tool.

Marketo Field Mapping Names

To get a list of Marketo API names for field mapping, follow these steps:

  • Go to the Admin section in your Marketo account by clicking on 
  • Click Field Management
  • Click Export field names from the action panel at the top of the screen:
  • The field names will be exported as an Excel sheet to your hard drive.
    Gigya supports fields and field names from the SOAP API Name column.

Note: Users who use Marketo's Social fields can also populate them via field mapping 

Marketo User Credentials

The Marketo configuration with Gigya requires your unique Marketo web services credentials. That is, Marketo issues an API endpoint for each user to send requests to along with a user ID and a secret key.
These credentials can be obtained by:

  • Accessing the Admin panel on your Marketo account by clicking 
  • Click the Web Services Link on the right side panel.
  • In the Soap API box you will find your user credentials for the Marketo Gigya configuration:
    • User ID - the field to be set as the marketoUserId field.
    • Encryption key - should be used for the marketoSecretKey field.
    • Endpoint - the URL for the Soap URL field.

Gigya Configuration for Inbound Transfers

For inbound user synchronization, the integration with Gigya can only update data for users already existing in Gigya's database. New users are not created.


As Gigya does not support all of Marketo's data fields natively, you need to define certain custom fields in Gigya's data store in order to perform inbound data transfers (sending data updates from Marketo to Gigya).
Adding custom fields can be done in different ways:

You are required to create an Unsubscribed field to hold boolean values on users who are unsubscribed from Marketo. Contact your Implementation Consultant to assist you in creating custom fields in Gigya.

Once you have created the custom field in Gigya's identity storage, add this field to the field mapping in the same manner as the outbound field mapping, i.e Marketo_field_name = Gigya_field_name. To get the list of Marketo field names for the field mapping see instructions on getting Marketo field mapping names.

Cookie Syncing and Lead Tracking

To implement cookie syncing between Gigya and Marketo on your website, you must add Marketo's lead tracking (Munchkin) code to your HTML.

First you need to add the following line to the of your HTML page:

<script src="http://munchkin.marketo.net/munchkin.js"type="text/javascript"></script>
<script>
  Munchkin.init("<Your Munchkin account ID>");
</script>

Use the associate lead call to sync information on a previously anonymous lead with a known lead as the user logs in to your website, or create a new lead when a user signs in.
The code should be placed within your onLogin event handler implementation.

Note that you must call the Munchkin tracking function Munchkin.init() before making any Munchkin.munchkinFunction() calls (as seen above).

gigya.socialize.addEventHandlers({
        onLogin: onLoginHandler     } );

// onLogin Event handler  
function onLoginHandler(eventObj) {

//calling the associate lead function   
Munchkin.munchkinFunction(
   'associateLead',
   {
      //Email is required to associate lead. You may pair any field in Marketo lead fields
      Email: eventObj.user.email,
      },
    //read about hashed secret key on Marketo's lead tracking page (link below)
   '"myHashedSecretKey" );
}

For more information on how to sync cookies visit Marketo's documentation on Lead tracking.

Using The Integration

Data as it will Appear on Marketo

Filtering Based on Likes and Favorites

Marketo will hold the Likes and Favorites data, once integrated, as a flattened JSON object. To filter data based on the custom social data from Gigya, you will need to create a new Smart List:

  • From the Lead database section select Smart list > New > New smart List:
  • A New smart list dialog will open with the fields Folder, Name and Description. Select the folder in which you wish to place the list, and type a name for the list. It is recommended to select a meaningful name, for example - if you are filtering based on likes data, you can call the list likes. Once you are done filling in the list parameters, click Create to create the list:
  • Next we want to add a filter to the list. From the right-side menu, select the Lead Attributes folder. Select the field you want to use as a filter and drag it to the list body:

  • Select Contains from the drop-down menu on the left side of the filter box:

  • To complete the filter, enter the value you want to filter by in the right-side text box. For example, if you want to filter leads who like basketball, enter the keyword basketball.

  • Click the Leads tab to view the filtered values.