Gigya’s integration with Mailchimp is based on IdentitySync, our ETL service. It enables easy and efficient integration of Gigya's rich, permission-based social and other profile info with Mailchimp's marketing email personalization service, so as to accurately target users in your campaigns.
Synchronize user data between Gigya and Mailchimp on a recurring basis (daily) or ad-hoc, including:
- Creating and updating users in Mailchimp based on information from Gigya.
- Updating user data in Gigya based on information from Mailchimp.
- Due to limitations of the Mailchimp platform, Gigya account fields which hold complex multi-value object data such as user photos' URLs or Facebook likes cannot be integrated using this method.
- Subscription data can be stored at Gigya using Gigya's customisable "data" fields, or using Lite Registration. Note that Lite Registration is a premium service that requires separate activation.
|2. Get Your List ID||3. (Optional) Get Your Interest ID||4. Define Merge Tags|
1. Get Your Mailchimp API Key
To get your Mailchimp API Key, under your profile name, select the Account menu. On your Account page, select Extras | API Keys
You can copy your API key from the section entitled Your API Keys.
2. Get Your List ID
To obtain the ListID, select Lists in the Mailchimp menu, and then select the list you want to synchronize.
Under the list's Settings menu, select List name and defaults.
The List ID is displayed on the right of the List name and Campaign Defaults screen.
3. (Optional) Get Your Interest ID
If you are using Mailchimp interests, get the ID of the interest to which your Gigya data will be synced.
- Open the Mailchimp playground: https://us1.api.Mailchimp.com/playground/ and enter your Mailchimp API key.
- Select Lists.
- Open the Subresources menu for the relevant list, select interest-categories.
- Under Subresources, select interests.
- Select the relevant interest from the list.
- Under Details, copy the value under id:
4. Define Merge Tags
In order to define field mappings in the Gigya configuration file, you need to provide merge tags that correspond to each Mailchimp field you want to map. The Gigya fields are mapped to these merge tags in the configuration file.
To specify merge tags:
- Select your list.
- Under the Settings menu, select List fields and *|MERGE|* tags.
- In the List Fields and *|MERGE|* Tags screen, add the following merge tags:
- EMAIL for the email field (required for the integration with Gigya)
- UID for the Gigya UID field (required for the integration with Gigya)
Create additional merge tags for any other field that you want to synchronize.
Merge tags must be specified in upper case. Mailchimp automatically converts all text entered into this field to upper case.
IdentitySync Data Flows
Gigya's IdentitySync is based on scheduled data flows, which are built of a series of preconfigured steps for extracting the data from the source database, transforming it as needed and loading it into the target database.
The following guide outlines the general steps for configuring an IdentitySync dataflow. For integrating with Mailchimp, you will require the following components:
For sample data flows for integrating with Mailchimp, see:
To create an integration based on IdentitySync, complete the following process:
1. Create Data Flow
Open IdentitySync Data Flows in Gigya's Console. Make sure your are signed in and have selected the relevant site. The IdentitySync dashboard may also be accessed by clicking Settings in the upper menu and then IdentitySync Data Flows in the left menu.
In the dashboard, click Create Data Flow.
In the Create Data Flow window, select the data flow integration from the dropdown. If the flow you wish to create is not available in the dropdown, select any available flow: it is customized in the next steps.
Select the data flow template: the direction of the flow, whether from or into Gigya. Note that at the bottom of this window, you can see an outline of the flow that will be created (e.g., Account > rename > dsv > gzip >sftp).
Click Continue. As a result, the IdentitySync Studio screen opens in the dashboard.
2. Edit the Data Flow
The data flow you created is built of the required steps for data transfer between Gigya and the selected vendor. Use the Component Repository to understand the structure and parameters required in each step.
Using IdentitySync Studio, you can:
- Specify passwords, IDs, API keys etc. required for accessing each system and customer database.
- Add the names of fields included in the data flow.
- Flatten fields, remove non-ASCII strings, specify the compression type, parse in JSON or DSV format, etc.
- Map fields and extract array data, for example using field.array.extract.
- Change the name of the data flow.
- Split a data flow, for example if you want to create two duplicate files and upload each file into a different destination. To do so, simply drag and drop the relevant step into the flow, and add connecting arrows as needed. In the code for the flow, this will be expressed in the next attribute, where you will find reference to the next two steps rather than just one. For a sample dataflow which employs this method, see the Epsilon Dataflow.
- Add Custom Scripts.
- Write failed records, that did not complete the flow successfully, to a separate file for review.
The following screenshots include example screenshots for implementing IdentitySync flows. Your actual implementation may require using different components from the ones shown.
To do so:
- If it's more convenient, you can work in full screen mode by clicking the full-screen toggle on the top rigt corner.
- Double-click any of the steps to add or edit its parameters. Click OK when finished.
- To add a new step, start typing its name in the Search component box. Drag the step from the list of components into the canvas.
- Drag arrows from/to the new step and from/to existing steps, to include it in the correct place in the flow. Make sure the "Success path" arrow is selected, under Connector Type.
- To add a custom step, locate the record.evaluate step in the list of components and drag it to the canvas.
- To split the data flow (for example to write to two target platforms), add the relevant step (e.g. another "write" step) and draw arrows accordingly:
- Handling failed records: You can add additional steps after a "writer" step, for writing to a separate file the records that did not complete the flow successfully. To do so:
- Add the relevant components to the flow (for example, a file.format step to write the records to a file, and a writer to write the file to the relevant destination).
- Under Connector Type, select the "Error path" connector.
Draw a connection from the original writer, to which successful records will be written, to the next step that handles failed records (e.g., the file.format step).
Under Connector Type, select the "Success path".
Connect the next steps that handle the failed records (e.g., the writer) using the "Successful path" connector.
- Delete a step by selecting it and hitting the Delete button on your keyboard.
- If necessary, click Source to review the data flow code , and edit the code as needed.
- Click Save.
Your dashboard should now look something like this:
The following actions are available:
|Edit||Opens the current data flow in IdentitySync Studio and change any of its attributes, steps and parameters.|
|Run Test||Runs the data flow once on 10 records for test purposes. If the test was successful, after refreshing the dashboard, you will see the timestamp of the test run under Last Successful Run. Use the Status button to view the details of the run. See Job History section on this page.|
|Duplicate||Useful for creating a new data flow based on a flow which has already been customized, if you wish to create a similar flow with slight variations.|
|Status||Displays the status of the current jobs running in your IdentitySync configuration. See Job History section on this page.|
|Delete||Deletes this data flow.|
3. Schedule the Dataflow
- Under Actions, click (schedule) to open the Scheduler.
- Click Create Schedule.
- Configure the schedule:
- Enter a schedule name
- Change the start time as needed
- Choose whether to run once or at scheduled intervals
- "Pull all records" should usually be selected only in the first run, when migrating records from one database to the other, and in any case should be used with caution. If the checkbox is not selected, and this is the first time this dataflow is run, records will be pulled according to the following logic:
- If the dataflow is set to run once, all records from the last 24 hours will be pulled.
- If the dataflow is recurring, records will be pulled according to the defined frequency. For example, if the dataflow is set to run once a week, the first time it is run, it will pull all records from the previous week.
- (Optional) Enter the email adress(es) for success and failure of the dataflow run.
- (Optional) Limit to a specific number of records. This is usually used for test runs: when running a test from the dashboard, a one-time schedule is created which runs immediately for 10 records.
- Click Create, and, once you are back in the Schedule dashboard, click the Refresh button.
- The status of the scheduling is indicated in the Status column.
- You can stop a job mid-run by clicking the Stop icon under Actions:
Account Deletion Propagation
Accounts that are deleted from SAP Customer Data Cloud, in most cases should also be deleted from downstream applications. A business flow would typically consist of the following steps:
- Deactivating the account by calling accounts.setAccountInfo with isActive set to false. This disables the user from logging in to their account.
- Flagging the account for deletion by creating a custom data field (e.g. data.deleteUser) and setting that field to true.
- Querying the SAP Customer Data Cloud database for accounts that are disabled and have been flagged for deletion, and passing them on to downstream applications to be handled there (by either deleting them or flagging them for deletion).
- Finalize the deletion process by deleting the account from SAP Customer Data Cloud, e.g. by calling accounts.deleteAccount.
Account Deletion Orchestration
In other cases, if an account is deleted from SAP Customer Data Cloud but not from downstream systems, you should sync that information to trigger a downstream account deletion.
To do so, you have the following options:
Export a File
Account deletion is recorded to the Audit Log. Use the datasource.read.gigya.audit IdentitySync component to extract deleted records, and write them to a file. This can be imported into the downstream system and handled there. See below for a list of relevant endpoints to query in the Audit Log.
Use the Generic Writer
Account deletion is recorded to the Audit Log. Use the datasource.read.gigya.audit IdentitySync component to extract deleted records, then use the datasource.write.external.generic component to write data to an external endpoint. See below for a list of relevant endpoints to query in the Audit Log.
The SAP Customer Data Cloud Webhooks solution supports an "account deleted" webhook, fired whenever an account is deleted. You may send the webhook notification directly to the downstream system from which the account is to be deleted, or a middleware platform that handles the deletion.
Audit Log Deletion Endpoints
The following endpoints that appear in the Audit Log, indicate an account deletion:
In addition, the following APIs may indicate an account deletion in certain scenarios (especially when 2 UIDs are merged into 1). Depending on your site implementation (e.g., sync is based on the UID), they may be used in a flow that syncs account deletion to downstream systems:
- accounts.login (loginMode = link)
The integration with Mailchimp is subject to the following limitations:
- String Length: Any string in Mailchimp is limited to 255 characters.
- Integration: There are several limitations on the integration -
- Synchronization can only be carried out in one direction at a time - inbound (Mailchimp to Gigya) or outbound (Gigya to Mailchimp).
- In addition, if you are synchronizing several Mailchimp lists, they must be synchronized one at a time. For example, if you want to synchronize users in two separate lists (say, List1 and List2), both inbound and outbound, you will need to do four separate synchronization runs.
- Complex Parameters: Since Mailchimp strings are limited to 255 characters, complex Gigya fields (such as favorites and likes) are not supported for synchronization.
Inbound flows update existing users on the Gigya database. If your implementation allows the creation of new users on the ESP regardless of whether they exist on Gigya, you should contact your Customer Engagement Executive to assist in supporting this.