Skip to Content
DestinationsMarketingMarigold Engage+

Marigold Engage+

Sync subscriber data to Marigold Engage+ (formerly Cheetah Digital / Experian Marketing Suite) for loyalty marketing, personalized messaging, and consumer engagement campaigns. Zeotap loads subscriber records into your Engage+ database via the Data Management API, keeping your marketing data in sync with your warehouse.

Prerequisites

  • A Marigold Engage+ account with API access enabled
  • OAuth2 Consumer Key and Consumer Secret from your Engage+ API Keys configuration
  • An API Post (Data Map) configured in Engage+ to define field mapping and update/insert logic
  • The Object Reference ID of your API Post
  • Your Engage+ instance region (North America, Europe, or Japan)

Authentication

Marigold Engage+ uses OAuth2 Password Credentials authentication.

  1. Log in to your Marigold Engage+ admin console
  2. Navigate to API Keys in the configuration section
  3. Create a new API key pair or use an existing one
  4. Copy the Consumer Key (public identifier) and Consumer Secret (confidential credential)
  5. In Zeotap, select OAuth2 Consumer Credentials as the authentication method
  6. Paste the Consumer Key and Consumer Secret into the corresponding fields

Keep your Consumer Secret confidential. It functions as a password and should never be shared publicly or committed to version control.

The OAuth2 token is valid for 8 hours by default. Zeotap automatically refreshes the token when it expires.

Configuration

FieldTypeRequiredDescription
RegionSelectYesThe data center region for your Engage+ instance: North America (api.eccmp.com), Europe (api.eccmp.eu), or Japan (api.marketingsuite.jp).
API Post IDTextYesThe Object Reference ID of the API Post (Data Map) that defines how fields are mapped and whether data should update existing records and/or create new ones. Found in your Engage+ Data Maps configuration.

Target Settings

FieldTypeRequiredDescription
Load TypeSelectYesStandard Data Load sends one record per request via the /Recipients endpoint. Advanced Data Load sends batches of records via the /Data endpoint for higher throughput.
Table NameTextWhen Load Type is AdvancedThe system table name in your Engage+ database for Advanced Data Load. Uses the system name, not the display name.

Supported Operations

Sync Modes

ModeSupported
UpsertYes
InsertYes
UpdateYes

The API Post (Data Map) configured in Engage+ controls whether incoming data creates new records, updates existing records, or both. The sync mode in Zeotap determines the intent, and the Data Map enforces the behavior on the Engage+ side.

Audience Sync Modes

ModeSupported
Add
Remove
Mirror
Upsert

Marigold Engage+ does not expose a list or segment membership API for direct audience management. Use regular sync modes to load subscriber data into your database, then manage audiences and segments within the Engage+ platform.

Features

  • Field Mapping: Yes
  • Schema Introspection: No

Required Mapping Fields

FieldDescription
s_emailSubscriber email address (primary identifier in Engage+). Uses the s_ prefix for single-value fields.

Default Destination Fields

s_email, s_first_name, s_last_name, s_mobile_phone, s_city, s_state, s_zip, s_country

These fields use the Engage+ system column naming convention. Single-value fields use the s_ prefix (e.g., s_email, s_first_name). Multi-value fields use the m_ prefix. Ensure your field names match the system column names defined in your Engage+ database schema.

How It Works

Standard Data Load

  1. Zeotap sends each record individually to the Standard Data Load endpoint (POST /services2/api/Recipients)
  2. Each request includes the API Post ID and field data as name/value pairs
  3. The API Post (Data Map) in Engage+ determines whether the record is inserted, updated, or upserted
  4. Responses are processed individually, with failed records reported back

This mode is the most compatible option and supports all Data Map features including joined table operations.

Advanced Data Load

  1. Zeotap batches records in groups of up to 100
  2. Each batch is sent to the Advanced Data Load endpoint (POST /services2/api/Data)
  3. Records include the target table name and field data
  4. The API Post (Data Map) controls insert/update behavior
  5. This mode offers better throughput for large data volumes

OAuth2 Token Lifecycle

  1. On the first request, Zeotap exchanges the Consumer Key and Consumer Secret for an access token
  2. The token is cached and reused for subsequent requests
  3. Tokens expire after 8 hours by default
  4. Zeotap automatically detects expired tokens (HTTP 401) and refreshes them
  5. A 5-minute buffer ensures tokens are refreshed before actual expiry

Rate Limits

ConstraintLimit
Token expiry8 hours (default, configurable)
Standard load1 record per request
Advanced loadUp to 100 records per request
Rate limiting429 status code when exceeded (no published per-second threshold)

Zeotap automatically retries on 429 Too Many Requests responses with exponential backoff.

Best Practices

  • Use Advanced Data Load for large data volumes to reduce the number of API calls
  • Use Standard Data Load when you need Data Map features like joined table support or complex field mapping logic
  • Match field names to system column names — use s_ prefix for single-value fields and m_ prefix for multi-value fields
  • Configure your API Post (Data Map) carefully — it controls whether data creates new records, updates existing ones, or both
  • Select the correct region to avoid authentication failures
  • Set appropriate Data Map validation rules in Engage+ to catch data quality issues on the platform side

Troubleshooting

Authentication failed: invalid consumer key or secret

Verify that the Consumer Key and Consumer Secret are correct. Navigate to API Keys in your Engage+ admin console to confirm the values. Ensure the key pair has not been revoked or expired.

OAuth2 token request returned HTTP 400

The token endpoint rejected the credentials. Check that you are using the correct region — using a North America key against the Europe endpoint (or vice versa) will fail. Also verify the credentials have not been rotated.

API Post not found

Ensure the API Post ID is the correct Object Reference ID from your Data Map configuration. The ID must reference a published API Post. Unpublished or draft API Posts are not accessible via the API.

Field not recognized or data not loading

Field names must match the system column names in your Engage+ database, not the display names. Single-value fields require the s_ prefix (e.g., s_email), and multi-value fields require the m_ prefix. Check your Data Map configuration to confirm the expected field names.

Request timeout

The Engage+ API may be slow to respond during peak usage. Zeotap uses a 120-second request timeout. If timeouts persist, consider switching to Advanced Data Load for batch processing or spacing out your sync schedule.

Rate limit exceeded (429)

Zeotap retries automatically with exponential backoff. If errors persist, consider reducing the sync frequency or contacting Marigold Engage+ support to discuss rate limit increases for your account.

Standard load succeeds but records not appearing

Verify that the API Post (Data Map) is configured to create new records (not just update). If the Data Map only allows updates and the subscriber does not exist, the record may be silently dropped by the platform.

Advanced load partial failure

When a batch fails, all records in that chunk are reported as failed. Check the Engage+ processing logs for detailed per-record errors. Consider reducing the number of mapped fields to decrease payload size.

Last updated on