Connect Zeotap CDP to Batch CEP with an API Bearer Token and Project Key. Send audience segments to Batch as a named audience, or use Mass Update Profiles to keep Batch profile attributes, topic preferences and events in sync.
This integration connects Zeotap CDP to Batch CEP so you can power targeted mobile and customer engagement campaigns without manual file transfers. Once the destination is created and linked to an audience, Zeotap sends the data you mapped to Batch on the refresh frequency you choose.The connector supports two outcomes, depending on the action you pick:
Create an audience in Batch and populate it with the identifiers and attributes you map.
Update attributes on existing Batch profiles, without creating an audience.
Batch vs. Batch CEPTwo Batch destinations are available in the Zeotap catalogue:
The actions write to different places: Send audiences to Batch writes at the audience level, while Mass Update Profiles and Update Batch profiles write to the profile. Attributes sent with the audience action never land on the profile — see the warning in Action 1.
For Send audiences to Batch — Batch CEP supports three audience types. Pick the one that matches the identifier you are sending:
Custom Ids — your own internal user IDs
Emails — email addresses
Install Ids — mobile app install IDs
You can also send up to 15 attributes per user alongside the identifier.For Mass Update Profiles and Update Batch profiles — map at least one of the following identifiers. You may map more than one:
Custom ID — your own internal user ID
Installation ID — Batch installation identifier
Device ID — device identifier
There is no email identifier for Mass Update Profiles. Email is a profile attribute (Email Address) for that action, not something Batch matches the profile on.
You set up Batch CEP as a destination in Zeotap CDP by entering your API Bearer Token and Batch Project Key.
You choose an action — Send audiences to Batch, Mass Update Profiles, or Update Batch profiles (from Journeys) — and configure the field mapping for it.
For Send audiences to Batch only, you set the Audience Type (Custom Ids, Emails, or Install Ids) so it matches the identifier you are sending.
You link the destination to a segment in Zeotap and choose a refresh frequency.
Once linked, Zeotap sends the data on that cadence:
Send audiences to Batch — Zeotap creates the audience in Batch and populates it with the identifiers and attributes you mapped, splitting large audiences into batches automatically.
Mass Update Profiles — Zeotap updates the mapped attributes on matching Batch profiles. No audience is created.
Make sure you have everything ready before starting the setup.In Batch:
An active Batch account with access to the Batch dashboard.
Your REST API Key (also called API Bearer Token) — visible to account managers under Account Settings → Custom Settings. Keep this value secret and never expose it in client applications.
Your Project Key — found in the Batch project settings.
(Send audiences to Batch only) A clear understanding of which audience type you will use — Custom Ids, Emails, or Install Ids — based on the identifier you plan to send.
In Zeotap CDP:
Access to the Integrate module with permission to create new destinations.
An audience segment ready to send to Batch.
The identifier you intend to send, and any attributes you want to include:
For Send audiences to Batch — an email, custom ID or install ID.
For Mass Update Profiles — at least one of Custom ID, Installation ID or Device ID that exists on your Batch profiles.
The REST API Key authenticates every request and is visible only to account managers. Treat it like a password and never share it in client-side code, screenshots, or chat messages.
Before connecting Zeotap to Batch, collect two values from your Batch project: the REST API Key and the Project Key.
1
Open Batch Account Settings
Log in to your Batch account. Click your profile avatar at the top right and select Account settings.
Figure 1 — Opening Account settings from the profile menu in the Batch dashboard.
2
Copy the Project Key and REST API Key
Open your project, then go to Settings → General. The App settings card shows your REST API Key (click the eye icon to reveal it) and your Project Key. Copy both values somewhere secure — you will paste them into Zeotap shortly.
Figure 2 — Batch project Settings → General, showing where the Project Key and REST API Key live (values redacted).
You should now have:
REST API Key (used as the API Bearer Token in Zeotap)
Log in to Zeotap CDP and go to Integrate → Destinations. Click + Create Destination and search for Batch in the catalogue. Two cards appear — Batch and Batch CEP. Select the Batch CEP card.
Figure 3 — The Destinations catalogue with both Batch and Batch CEP cards visible after searching “Batch”.
2
Enter the destination details
Fill in the configuration fields:
Destination Name — a descriptive label (e.g., Batch — Q2 Mobile Audience Sync).
API Bearer Token — paste the REST API Key you copied from Batch.
Project Key — paste the Project Key you copied from Batch.
Click Next to proceed to the Mapping screen, where you choose the action.
A destination can hold one mapping per action, so you can come back later and add the second one. The save button differs by entry point: it reads Create Destination when you are creating the destination with its first mapping, and Save Mapping when you are adding a mapping to a destination that already exists.
Use this action when you want a named, targetable audience in Batch.
1
Choose the action and map the fields
On the Mapping screen:
Under Choose your Action, select Send audiences to Batch.
Under Map the Fields, map your identifier and any attributes:
The ID field is the identifier each user will be added to the Batch audience under (e.g., Email Raw → Id).
Optional Attributes are extra fields sent alongside the ID (e.g., Last Name → last_name, Age → age).
Figure 4 — Mapping screen with Last Name, Age, and Email Raw mapped to Batch destination fields.
You can map up to 15 attributes per user. Attributes are useful for personalising campaigns inside Batch — for example, addressing recipients by first name.
Attributes sent with this action are audience-level, not profile-level. Attributes sent through the Audience API are not appended to user profiles. They live at the audience level as rich audience attributes — tied to that specific audience, not merged into the profile. They do not appear as profile attributes and cannot be used as filters in Segment or Query Builder targeting.Rich audience attributes are meant for personalisation, not segmentation. Once the audience is added to your orchestration targeting, call the attributes in the message body with audienceAttribute(audience_code).If you need the attributes on the profile itself, use Mass Update Profiles instead.
2
Set the Audience Type to match your identifier
Scroll to Additional Settings and pick the Audience Type that matches the identifier you mapped above:
Identifier you are sending
Audience Type to select
Email addresses
Emails
Your own internal user IDs
Custom Ids
Mobile app install IDs
Install Ids
Figure 5 — Additional Settings panel with the Audience Type dropdown.
The Audience Type must match the identifier you map. If you send emails into a Custom Ids audience (or vice versa), Batch rejects the records or creates an audience that cannot be activated. Always double-check this before saving.
3
Review and create the destination
Review every value you entered:
Destination name
API Bearer Token and Project Key
Action: Send audiences to Batch
Field mapping (ID + any attributes)
Audience Type matches the ID you are sending
Click Create Destination. The destination now appears under Audiences → Destinations, ready to link.
Figure 6 — Mapping summary showing the chosen action and mapped attributes before saving.
Use this action to update attributes on existing Batch profiles — to keep profile data in sync or to enrich it. Unlike Send audiences to Batch, this action does not create an audience.
Update Batch profiles is the Journeys counterpart of this action. Configure the mapping exactly as described below — the procedure is identical — then use the destination from a journey instead of linking it to a segment.
1
Select the action
On the Mapping screen, under Choose your Action, select Mass Update Profiles.
Figure 7 — Choosing the Mass Update Profiles action on the Mapping screen.
2
Map at least one identifier
Under Identifiers, map at least one of Custom ID, Installation ID or Device ID. You can map more than one.
At least one identifier is required — it is what Batch matches the profile on. A mapping with attributes but no identifier cannot be applied.
3
Map the attributes you want to update
Under Attributes, map the profile fields you want to keep in sync. All attributes are optional.
Figure 8 — Identifiers and Attributes mapped: Email Raw to Custom ID, Age to Customer Tier, Custom_dateDM to Zeotap Date, and First Name 02 to Firstname.
Two fields need special date formatting: Birthday and Zeotap Date. These are the only fields with this requirement. They use an internal format (for example date(birthday)) and are ingested into Batch as timestamps, so supply values in ISO 8601 UTC — for example 2012-08-12T22:30:05Z. No other field needs this formatting.
The Attributes section lists the profile fields the connector exposes.
Figure 9 — The Attributes section of the Mass Update Profiles mapping.
4
Optional: map topic preferences
Under Topic Preference, map a catalogue attribute to the Add field to subscribe profiles to a topic. The section is repeatable — click + Add Mapping Field to add more rows.
5
Optional: map events and event attributes
To send events into Batch as well:
Under Events, map the event Name.
Under Event Attributes, map Label (String) and Tags (List).
Figure 10 — The Topic Preference, Events and Event Attributes sections at the bottom of the mapping.
6
Save the mapping and link the destination
Click Save Mapping, then link the destination to your audience using the same flow as Action 1 — see Link a Segment to the Batch CEP Destination and Figures 11 and 12. Once processing finishes, the profile updates are applied in Batch.
Want both profile updates and an audience? Run Mass Update Profiles first, then Send audiences to Batch on the same audience. Each action lives in its own mapping on the same destination, so you can link both.
With the destination created, link it to an audience segment so Zeotap starts sending data.
1
Open the segment’s link menu
In Zeotap CDP, navigate to Segment → Audiences. Find the audience you want to send, click the three-dots (⋮) icon next to it, and select Link to Destination.
Figure 11 — Linking an audience to a destination from the Audiences list.
2
Select the Batch CEP destination, mapping, and refresh frequency
On the linking screen:
Choose the Batch CEP destination you created from the destination list on the right.
Pick the mapping to apply to this audience. The mapping you choose determines which action runs — the one built for Send audiences to Batch or the one built for Mass Update Profiles. If you set up both, you can link both mappings.
Pick a refresh frequency that suits your use case (e.g., one-time, scheduled, or continuous).
Click Save Destination, then save the segment setup.
Figure 12 — Audience-to-destination linking screen with the mapping and destinations panel.
This reference also applies to Update Batch profiles, which uses the same mapping.Identifiers — map at least one; you may map several:
Destination field
Type
Required / Optional
Notes
Custom ID
String
At least one required
Your own internal user ID.
Installation ID
String
At least one required
Batch installation identifier.
Device ID
String
At least one required
Device identifier.
Attributes — all optional. The following are visible on the mapping screen:
Destination field
Type
Notes
Customer Tier
String
Zeotap Date
String
Needs ISO 8601 UTC formatting — see the date warning in Action 2. Can be used as a refresh timestamp.
Firstname
String
Lastname
String
Email Address
String
Profile email. For this action email is an attribute, not an identifier.
Email Marketing
String
Phone Number
String
The attribute list continues past Phone Number. Other profile fields commonly available include Region, Timezone, Birthday / Date of birth (needs the same ISO 8601 UTC formatting as Zeotap Date), Interests, and any custom attributes configured on your Batch project.
Confirm the full attribute list in your own workspace — the fields the connector exposes depend on your Batch project configuration.
Topic Preference, Events, and Event Attributes — all optional:
Section
Destination field
Type
Notes
Topic Preference
Add
String
Repeatable — use + Add Mapping Field to map more topics.
Once the segment is linked and saved, verify the data has reached Batch.
1
Wait for the sync
Zeotap encrypts and sends the data to Batch in the background, based on the refresh frequency you chose.
2
Verify Send audiences to Batch
Log in to Batch, then go to Data → Audiences. The audience you sent from Zeotap appears in the list. Open it and check the identifier count — it should match (or closely match) the number of users in your Zeotap segment.In the example walkthrough, an audience of approximately 5,000 identifiers appeared in Batch shortly after the sync completed.
Figure 13 — Batch Data → Audiences with the synced audience and identifier count visible.
3
Verify Mass Update Profiles
No audience is created by this action, so verify at the profile level instead: in Batch, look up a user you know was in the linked segment and confirm the attributes you mapped now appear on that profile.
A successful integration looks like this: for Send audiences to Batch, your audience appears in Batch under Data → Audiences with the expected identifier count and the correct audience type, ready for campaign targeting. For Mass Update Profiles, the mapped attributes appear on the matching Batch profiles.
Batch processes audience data asynchronously. After a successful send, Batch returns an indexing_token and processes the records in the background — usually in real time, but no SLA is guaranteed. If counts do not appear immediately, wait a few minutes and refresh the audience view.
Audience Type must match the identifier. If you send emails into a Custom Ids audience (or vice versa), Batch rejects the records. Always confirm the audience type before saving the destination.
Audience names are case-sensitive and have character restrictions. Only letters (a–z, A–Z), numbers (0–9), underscores (_), and hyphens (-) are allowed, with a maximum of 255 characters. Names with special characters, spaces, or accents will fail.
Batching is automatic. Each Update request to Batch supports up to 10,000 IDs. For audiences larger than 10,000, Zeotap automatically splits the payload into multiple sequential requests against the same audience name — you do not need to do anything.
Maximum 15 attributes per user. If you map more than 15 attributes, the additional ones are not sent.
Attributes stay at the audience level. They are not merged into user profiles and cannot be used as segmentation filters. If you need attributes on the profile, use Mass Update Profiles instead.
Mass Update Profiles
No audience is created. This action only updates existing Batch profiles. Use Send audiences to Batch if you need a targetable audience.
At least one identifier is required — Custom ID, Installation ID or Device ID. It is what Batch matches the profile on.
Birthday and Zeotap Date need ISO 8601 UTC formatting (for example 2012-08-12T22:30:05Z). They are the only two fields with a special date-format requirement.
Audience Type, the 15-attribute cap and the 10,000-ID batching rule do not apply to this action. They are limits of the Batch Audience API, which this action does not use.
If you run into issues during setup or have questions about the Zeotap-to-Batch CEP integration, reach out to your Zeotap account manager or contact the Zeotap support team.
Last modified on August 24, 2026
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Zeotap docs","colors":{"primary":"#174efb","light":"#174efb","dark":"#174efb"},"logo":{"light":"https://mintcdn.com/zeotap/pbiFRnrYXBNUsbba/logo/light.svg?fit=max\u0026auto=format\u0026n=pbiFRnrYXBNUsbba\u0026q=85\u0026s=c566b5af653699d3bcf4d8efb4f678d1","dark":"https://mintcdn.com/zeotap/pbiFRnrYXBNUsbba/logo/dark.svg?fit=max\u0026auto=format\u0026n=pbiFRnrYXBNUsbba\u0026q=85\u0026s=ae6e1d27d3d2e409f9e86c089b64e224","href":"https://zeotap.com/"},"favicon":"https://mintcdn.com/zeotap/Tg-jPUQrcrgXsHVA/favicon.svg?fit=max\u0026auto=format\u0026n=Tg-jPUQrcrgXsHVA\u0026q=85\u0026s=f5b2731a91bf6cad0fe370680ebae4fe","appearance":{"default":"light"},"background":{"decoration":"gradient","color":{"light":"#eaf0fe"}},"navbar":{"links":[{"href":"https://login.zeotap.com/","label":"Login"}],"primary":{"type":"button","label":"Book a Demo","href":"https://zeotap.com/demo/"}},"footer":{"socials":{"linkedin":"https://www.linkedin.com/company/zeotap"}},"seo":{"indexing":"all"},"integrations":{"ga4":{"measurementId":"G-XXXXXXXXXX"}},"banner":{"content":"New: [Support \u0026 Diagnostics](/articles/support-diagnostics-customer/support-diagnostics) troubleshooting guides are now live.","dismissible":true},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"metadata":{"timestamp":true},"styling":{"latex":true},"navigation":{"global":{},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"zeotap","hasAudioNarration":false,"actualSubdomain":"zeotap","customDomains":["docs.zeotap.com"],"gitSource":{"type":"github","owner":"zeotap","repo":"zeotap-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6adf1b5bd7cf896c8ad7be41","collectionId":"3f8096fa-6be0-4795-8f48-e2c74b348110","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6adf1b5bd7cf896c8ad7be41"},"feedback":{"thumbs":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6adf1b5bd7cf896c8ad7be41","clientVersion":"0.0.4044","searchFilterCounts":[{"language":"default","tag":"Products","count":355},{"language":"default","tag":"Integrate","count":216},{"language":"default","tag":"SDKs","count":157},{"language":"default","tag":"Destinations","count":151},{"language":"default","tag":"Batch Integrations","count":98},{"language":"default","tag":"Sources","count":65},{"language":"default","tag":"Unify","count":65},{"language":"default","tag":"Source Integrations (Batch+Real-Time)","count":54},{"language":"default","tag":"Release Notes","count":54},{"language":"default","tag":"Catalogue","count":48}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"articles/integrate-customer/batch-audience-management","slug":"/articles/integrate-customer/batch-audience-management","pageMetadata":{"title":"Batch CEP","description":"Connect Zeotap CDP to Batch CEP with an API Bearer Token and Project Key. Send audience segments to Batch as a named audience, or use Mass Update Profiles to keep Batch profile attributes, topic preferences and events in sync.","href":"/articles/integrate-customer/batch-audience-management"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Connect Zeotap CDP to Batch CEP with an API Bearer Token and Project Key. Send audience segments to Batch as a named audience, or use Mass Update Profiles to keep Batch profile attributes, topic preferences and events in sync.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,em:`em`,li:`li`,ol:`ol`,p:`p`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Frame,Heading,Note,OptimizedImage,Step,Steps,Table,Tip,Warning}=_components;if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Tip)_missingMdxReference(`Tip`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`2`,id:`overview`,children:`Overview`}),`\n`,_jsxs(_components.p,{children:[`This integration connects Zeotap CDP to `,_jsx(_components.strong,{children:`Batch CEP`}),` so you can power targeted mobile and customer engagement campaigns without manual file transfers. Once the destination is created and linked to an audience, Zeotap sends the data you mapped to Batch on the refresh frequency you choose.`]}),`\n`,_jsx(_components.p,{children:`The connector supports two outcomes, depending on the action you pick:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Create an audience in Batch`}),` and populate it with the identifiers and attributes you map.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Update attributes on existing Batch profiles`}),`, without creating an audience.`]}),`\n`]}),`\n`,_jsxs(Note,{children:[_jsx(_components.p,{children:_jsx(_components.strong,{children:`Batch vs. Batch CEP`})}),_jsx(_components.p,{children:`Two Batch destinations are available in the Zeotap catalogue:`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Batch`}),` — the original connector. See `,_jsx(_components.a,{href:`/articles/integrate-customer/batch`,children:`Batch`}),`.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Batch CEP`}),` — a newer connector that reflects recent improvements to the Batch APIs and is recommended for new audience and profile integrations.`]}),`\n`]}),_jsxs(_components.p,{children:[`This page covers the `,_jsx(_components.strong,{children:`Batch CEP`}),` connector. Confirm with your team which connector to use before starting.`]})]}),`\n`,_jsx(Heading,{level:`2`,id:`available-actions`,children:`Available Actions`}),`\n`,_jsxs(_components.p,{children:[`Actions are chosen on the `,_jsx(_components.strong,{children:`Mapping`}),` screen under `,_jsx(_components.strong,{children:`Choose your Action`}),`. A destination can hold one mapping per action, so you can set up any combination.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Action`}),_jsx(_components.th,{children:`What it does`}),_jsx(_components.th,{children:`When to use`}),_jsx(_components.th,{children:`Setup`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Send audiences to Batch`})}),_jsx(_components.td,{children:`Creates a named audience in Batch and populates it with the mapped identifier and any audience-level attributes.`}),_jsx(_components.td,{children:`You want a targetable audience in Batch.`}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#action-1-%E2%80%94-send-audiences-to-batch`,children:`Action 1`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Mass Update Profiles`})}),_jsxs(_components.td,{children:[`Updates attributes, topic preferences and events on existing Batch profiles. `,_jsx(_components.strong,{children:`Does not create an audience.`})]}),_jsx(_components.td,{children:`You want to keep profile data in sync or enrich it.`}),_jsx(_components.td,{children:_jsx(_components.a,{href:`#action-2-%E2%80%94-mass-update-profiles`,children:`Action 2`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Update Batch profiles`})}),_jsxs(_components.td,{children:[`The Journeys counterpart of `,_jsx(_components.em,{children:`Mass Update Profiles`}),` — updates attributes, topic preferences and events on existing Batch profiles from a journey.`]}),_jsx(_components.td,{children:`You want profile updates to fire in real time as users move through a journey.`}),_jsxs(_components.td,{children:[`Same mapping as `,_jsx(_components.a,{href:`#action-2-%E2%80%94-mass-update-profiles`,children:`Action 2`})]})]})]})]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`The actions write to different places: `,_jsx(_components.strong,{children:`Send audiences to Batch`}),` writes at the `,_jsx(_components.strong,{children:`audience`}),` level, while `,_jsx(_components.strong,{children:`Mass Update Profiles`}),` and `,_jsx(_components.strong,{children:`Update Batch profiles`}),` write to the `,_jsx(_components.strong,{children:`profile`}),`. Attributes sent with the audience action never land on the profile — see the warning in `,_jsx(_components.a,{href:`#action-1-%E2%80%94-send-audiences-to-batch`,children:`Action 1`}),`.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`supported-identifiers`,children:`Supported Identifiers`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`For Send audiences to Batch`}),` — Batch CEP supports three audience types. Pick the one that matches the identifier you are sending:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Custom Ids`}),` — your own internal user IDs`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Emails`}),` — email addresses`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Install Ids`}),` — mobile app install IDs`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`You can also send up to `,_jsx(_components.strong,{children:`15 attributes per user`}),` alongside the identifier.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`For Mass Update Profiles and Update Batch profiles`}),` — map at least one of the following identifiers. You may map more than one:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Custom ID`}),` — your own internal user ID`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Installation ID`}),` — Batch installation identifier`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Device ID`}),` — device identifier`]}),`\n`]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`There is no email identifier for `,_jsx(_components.strong,{children:`Mass Update Profiles`}),`. Email is a profile `,_jsx(_components.strong,{children:`attribute`}),` (`,_jsx(_components.strong,{children:`Email Address`}),`) for that action, not something Batch matches the profile on.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`how-it-works`,children:`How It Works`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`You set up Batch CEP as a destination in Zeotap CDP by entering your `,_jsx(_components.strong,{children:`API Bearer Token`}),` and `,_jsx(_components.strong,{children:`Batch Project Key`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`You choose an action — `,_jsx(_components.strong,{children:`Send audiences to Batch`}),`, `,_jsx(_components.strong,{children:`Mass Update Profiles`}),`, or `,_jsx(_components.strong,{children:`Update Batch profiles`}),` (from Journeys) — and configure the `,_jsx(_components.strong,{children:`field mapping`}),` for it.`]}),`\n`,_jsxs(_components.li,{children:[`For `,_jsx(_components.strong,{children:`Send audiences to Batch`}),` only, you set the `,_jsx(_components.strong,{children:`Audience Type`}),` (`,_jsx(_components.code,{children:`Custom Ids`}),`, `,_jsx(_components.code,{children:`Emails`}),`, or `,_jsx(_components.code,{children:`Install Ids`}),`) so it matches the identifier you are sending.`]}),`\n`,_jsxs(_components.li,{children:[`You `,_jsx(_components.strong,{children:`link the destination to a segment`}),` in Zeotap and choose a refresh frequency.`]}),`\n`,_jsxs(_components.li,{children:[`Once linked, Zeotap sends the data on that cadence:`,`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Send audiences to Batch`}),` — Zeotap creates the audience in Batch and populates it with the identifiers and attributes you mapped, splitting large audiences into batches automatically.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Mass Update Profiles`}),` — Zeotap updates the mapped attributes on matching Batch profiles. No audience is created.`]}),`\n`]}),`\n`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`prerequisites`,children:`Prerequisites`}),`\n`,_jsx(_components.p,{children:`Make sure you have everything ready before starting the setup.`}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`In Batch:`})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`An active Batch account with access to the Batch dashboard.`}),`\n`,_jsxs(_components.li,{children:[`Your `,_jsx(_components.strong,{children:`REST API Key`}),` (also called API Bearer Token) — visible to account managers under `,_jsx(_components.strong,{children:`Account Settings → Custom Settings`}),`. Keep this value secret and never expose it in client applications.`]}),`\n`,_jsxs(_components.li,{children:[`Your `,_jsx(_components.strong,{children:`Project Key`}),` — found in the Batch project settings.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.em,{children:`(Send audiences to Batch only)`}),` A clear understanding of which `,_jsx(_components.strong,{children:`audience type`}),` you will use — `,_jsx(_components.code,{children:`Custom Ids`}),`, `,_jsx(_components.code,{children:`Emails`}),`, or `,_jsx(_components.code,{children:`Install Ids`}),` — based on the identifier you plan to send.`]}),`\n`]}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`In Zeotap CDP:`})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Access to the `,_jsx(_components.strong,{children:`Integrate`}),` module with permission to create new destinations.`]}),`\n`,_jsx(_components.li,{children:`An audience segment ready to send to Batch.`}),`\n`,_jsxs(_components.li,{children:[`The identifier you intend to send, and any attributes you want to include:`,`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`For `,_jsx(_components.strong,{children:`Send audiences to Batch`}),` — an email, custom ID or install ID.`]}),`\n`,_jsxs(_components.li,{children:[`For `,_jsx(_components.strong,{children:`Mass Update Profiles`}),` — at least one of Custom ID, Installation ID or Device ID that exists on your Batch profiles.`]}),`\n`]}),`\n`]}),`\n`]}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`The REST API Key authenticates every request and is visible only to account managers. Treat it like a password and never share it in client-side code, screenshots, or chat messages.`})}),`\n`,_jsx(Heading,{level:`2`,id:`get-your-credentials-from-batch`,children:`Get Your Credentials from Batch`}),`\n`,_jsxs(_components.p,{children:[`Before connecting Zeotap to Batch, collect two values from your Batch project: the `,_jsx(_components.strong,{children:`REST API Key`}),` and the `,_jsx(_components.strong,{children:`Project Key`}),`.`]}),`\n`,_jsxs(Steps,{children:[_jsxs(Step,{title:`Open Batch Account Settings`,children:[_jsxs(_components.p,{children:[`Log in to your `,_jsx(_components.strong,{children:`Batch`}),` account. Click your profile avatar at the top right and select `,_jsx(_components.strong,{children:`Account settings`}),`.`]}),_jsx(Frame,{caption:`Figure 1 — Opening Account settings from the profile menu in the Batch dashboard.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image2.png?fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=f358a7345de9f44d751e22dcb92d6f30`,alt:`Batch dashboard with the profile dropdown open showing Account settings highlighted.`,\"data-og-width\":`1726`,width:`1726`,\"data-og-height\":`953`,height:`953`,\"data-path\":`images/batch-audience-management/image2.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image2.png?w=280\u0026fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=5ba85b6076ae8f9ef19a2508ae08f3f7 280w, https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image2.png?w=560\u0026fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=313337eb75c359f363ba288ca0dd177c 560w, https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image2.png?w=840\u0026fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=d7cdc7889c84cccba970f8d92132f172 840w, https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image2.png?w=1100\u0026fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=703fb70cb81acfe7685a1a2104be3240 1100w, https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image2.png?w=1650\u0026fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=ae0d2f2cd4b01465515aba31d928c442 1650w, https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image2.png?w=2500\u0026fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=89e40a81eea292ed74b4dee4f657a41e 2500w`})})]}),_jsxs(Step,{title:`Copy the Project Key and REST API Key`,children:[_jsxs(_components.p,{children:[`Open your project, then go to `,_jsx(_components.strong,{children:`Settings → General`}),`. The `,_jsx(_components.strong,{children:`App settings`}),` card shows your `,_jsx(_components.strong,{children:`REST API Key`}),` (click the eye icon to reveal it) and your `,_jsx(_components.strong,{children:`Project Key`}),`. Copy both values somewhere secure — you will paste them into Zeotap shortly.`]}),_jsx(Frame,{caption:`Figure 2 — Batch project Settings → General, showing where the Project Key and REST API Key live (values redacted).`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image3.png?fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=cadcd1fec3c99280436b67fda0af56e7`,alt:`Batch project settings page showing Project name, REST API key, Live API Key, and Project key fields with the values blurred.`,\"data-og-width\":`1726`,width:`1726`,\"data-og-height\":`953`,height:`953`,\"data-path\":`images/batch-audience-management/image3.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image3.png?w=280\u0026fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=a5db98edd86ee836369b5c0f2410a8e6 280w, https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image3.png?w=560\u0026fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=9ba8a2db1f727a5a7acf8c16c196304c 560w, https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image3.png?w=840\u0026fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=8b7b9e3ee8f29e1db9aa36829451dfc1 840w, https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image3.png?w=1100\u0026fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=bd891b6355ce051d0523fa0621dbbe2a 1100w, https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image3.png?w=1650\u0026fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=a420c0b1ae30c4b77d41c1f1a7e948db 1650w, https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image3.png?w=2500\u0026fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=f1d6a13593d19f83ec8c6ec7bc532c64 2500w`})})]})]}),`\n`,_jsx(_components.p,{children:`You should now have:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`REST API Key`}),` (used as the API Bearer Token in Zeotap)`]}),`\n`,_jsx(_components.li,{children:_jsx(_components.strong,{children:`Project Key`})}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`create-the-batch-cep-destination-in-zeotap-cdp`,children:`Create the Batch CEP Destination in Zeotap CDP`}),`\n`,_jsx(Heading,{level:`3`,id:`enter-your-batch-credentials`,children:`Enter your Batch credentials`}),`\n`,_jsxs(Steps,{children:[_jsxs(Step,{title:`Open the Destinations catalogue`,children:[_jsxs(_components.p,{children:[`Log in to `,_jsx(_components.strong,{children:`Zeotap CDP`}),` and go to `,_jsx(_components.strong,{children:`Integrate → Destinations`}),`. Click `,_jsx(_components.strong,{children:`+ Create Destination`}),` and search for `,_jsx(_components.strong,{children:`Batch`}),` in the catalogue. Two cards appear — `,_jsx(_components.strong,{children:`Batch`}),` and `,_jsx(_components.strong,{children:`Batch CEP`}),`. Select the `,_jsx(_components.strong,{children:`Batch CEP`}),` card.`]}),_jsx(Frame,{caption:`Figure 3 — The Destinations catalogue with both Batch and Batch CEP cards visible after searching “Batch”.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image1.png?fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=5e147acf16042a4c7d94b40e20198ad4`,alt:`Zeotap Integrate Destinations catalogue showing Batch and Batch CEP cards.`,\"data-og-width\":`1726`,width:`1726`,\"data-og-height\":`953`,height:`953`,\"data-path\":`images/batch-audience-management/image1.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image1.png?w=280\u0026fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=5f7228f991764a31a9817f53de718017 280w, https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image1.png?w=560\u0026fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=29f4adf0162a078566ca1cda2feff647 560w, https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image1.png?w=840\u0026fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=719cd1f87262088e9bc75dd684e7c850 840w, https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image1.png?w=1100\u0026fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=ac3524d010bd93672b20b2b0358c8e69 1100w, https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image1.png?w=1650\u0026fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=05c8d5ce6cb0fcf2fb8cd60da894e6e3 1650w, https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image1.png?w=2500\u0026fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=147ab24029b8983cf8408fa3767d37e3 2500w`})})]}),_jsxs(Step,{title:`Enter the destination details`,children:[_jsx(_components.p,{children:`Fill in the configuration fields:`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Destination Name`}),` — a descriptive label (e.g., `,_jsx(_components.code,{children:`Batch — Q2 Mobile Audience Sync`}),`).`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`API Bearer Token`}),` — paste the REST API Key you copied from Batch.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Project Key`}),` — paste the Project Key you copied from Batch.`]}),`\n`]}),_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Next`}),` to proceed to the `,_jsx(_components.strong,{children:`Mapping`}),` screen, where you choose the action.`]})]})]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`A destination can hold one mapping per action, so you can come back later and add the second one. The save button differs by entry point: it reads `,_jsx(_components.strong,{children:`Create Destination`}),` when you are creating the destination with its first mapping, and `,_jsx(_components.strong,{children:`Save Mapping`}),` when you are adding a mapping to a destination that already exists.`]})}),`\n`,_jsx(Heading,{level:`3`,id:`action-1-—-send-audiences-to-batch`,children:`Action 1 — Send audiences to Batch`}),`\n`,_jsx(_components.p,{children:`Use this action when you want a named, targetable audience in Batch.`}),`\n`,_jsxs(Steps,{children:[_jsxs(Step,{title:`Choose the action and map the fields`,children:[_jsxs(_components.p,{children:[`On the `,_jsx(_components.strong,{children:`Mapping`}),` screen:`]}),_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Under `,_jsx(_components.strong,{children:`Choose your Action`}),`, select `,_jsx(_components.strong,{children:`Send audiences to Batch`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Under `,_jsx(_components.strong,{children:`Map the Fields`}),`, map your identifier and any attributes:`,`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`The `,_jsx(_components.strong,{children:`ID`}),` field is the identifier each user will be added to the Batch audience under (e.g., `,_jsx(_components.strong,{children:`Email Raw`}),` → `,_jsx(_components.code,{children:`Id`}),`).`]}),`\n`,_jsxs(_components.li,{children:[`Optional `,_jsx(_components.strong,{children:`Attributes`}),` are extra fields sent alongside the ID (e.g., `,_jsx(_components.strong,{children:`Last Name`}),` → `,_jsx(_components.code,{children:`last_name`}),`, `,_jsx(_components.strong,{children:`Age`}),` → `,_jsx(_components.code,{children:`age`}),`).`]}),`\n`]}),`\n`]}),`\n`]}),_jsx(Frame,{caption:`Figure 4 — Mapping screen with Last Name, Age, and Email Raw mapped to Batch destination fields.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image4.png?fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=eedbe626ea7d36b04c539abc8db296bd`,alt:`Zeotap mapping screen showing Last Name, Age (Integer) and Email Raw mapped to last_name, age, and Id.`,\"data-og-width\":`1726`,width:`1726`,\"data-og-height\":`953`,height:`953`,\"data-path\":`images/batch-audience-management/image4.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image4.png?w=280\u0026fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=e6b17ae5a843b9d7dcac6301784f5299 280w, https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image4.png?w=560\u0026fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=f357ef4c07e13e105a90669dd400edbf 560w, https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image4.png?w=840\u0026fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=5684d049e0c0fd092bf7de7101f5c46c 840w, https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image4.png?w=1100\u0026fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=ff13ef47e6a24e45c8ef9e010f6a94e0 1100w, https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image4.png?w=1650\u0026fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=f6de3554c4b58bb0e75b3c458a916847 1650w, https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image4.png?w=2500\u0026fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=71ca08dfb195f255a67980e8d77df2de 2500w`})}),_jsx(Tip,{children:_jsxs(_components.p,{children:[`You can map up to `,_jsx(_components.strong,{children:`15 attributes per user`}),`. Attributes are useful for personalising campaigns inside Batch — for example, addressing recipients by first name.`]})}),_jsxs(Warning,{children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Attributes sent with this action are audience-level, not profile-level.`}),` Attributes sent through the Audience API are not appended to user profiles. They live at the audience level as `,_jsx(_components.em,{children:`rich audience`}),` attributes — tied to that specific audience, not merged into the profile. They do not appear as profile attributes and cannot be used as filters in Segment or Query Builder targeting.`]}),_jsxs(_components.p,{children:[`Rich audience attributes are meant for personalisation, not segmentation. Once the audience is added to your orchestration targeting, call the attributes in the message body with `,_jsx(_components.code,{children:`audienceAttribute(audience_code)`}),`.`]}),_jsxs(_components.p,{children:[`If you need the attributes on the profile itself, use `,_jsx(_components.a,{href:`#action-2-%E2%80%94-mass-update-profiles`,children:`Mass Update Profiles`}),` instead.`]})]})]}),_jsxs(Step,{title:`Set the Audience Type to match your identifier`,children:[_jsxs(_components.p,{children:[`Scroll to `,_jsx(_components.strong,{children:`Additional Settings`}),` and pick the `,_jsx(_components.strong,{children:`Audience Type`}),` that matches the identifier you mapped above:`]}),_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Identifier you are sending`}),_jsx(_components.th,{children:`Audience Type to select`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Email addresses`}),_jsx(_components.td,{children:_jsx(_components.strong,{children:`Emails`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Your own internal user IDs`}),_jsx(_components.td,{children:_jsx(_components.strong,{children:`Custom Ids`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Mobile app install IDs`}),_jsx(_components.td,{children:_jsx(_components.strong,{children:`Install Ids`})})]})]})]}),_jsx(Frame,{caption:`Figure 5 — Additional Settings panel with the Audience Type dropdown.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image5.png?fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=d1b9e89e1b91687a0ad1cefd298ffb56`,alt:`Additional Settings section in Zeotap with the Audience Type dropdown.`,\"data-og-width\":`1726`,width:`1726`,\"data-og-height\":`953`,height:`953`,\"data-path\":`images/batch-audience-management/image5.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image5.png?w=280\u0026fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=2bb38a1d89c494c575f0cef33a8c58bc 280w, https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image5.png?w=560\u0026fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=0a7e84f4bef33bcf0ec186a0a6a80e32 560w, https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image5.png?w=840\u0026fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=e829c5c040ec5dafcb8c634403a29acf 840w, https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image5.png?w=1100\u0026fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=b53554101c91b7dc6b89d1e4f2c8d9c2 1100w, https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image5.png?w=1650\u0026fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=1aa4bfbda0f3e6fbd9b434d52f03cb2f 1650w, https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image5.png?w=2500\u0026fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=0584e93c7e55cea601dfb808329eab0e 2500w`})}),_jsx(Warning,{children:_jsxs(_components.p,{children:[`The `,_jsx(_components.strong,{children:`Audience Type must match the identifier you map`}),`. If you send emails into a `,_jsx(_components.code,{children:`Custom Ids`}),` audience (or vice versa), Batch rejects the records or creates an audience that cannot be activated. Always double-check this before saving.`]})})]}),_jsxs(Step,{title:`Review and create the destination`,children:[_jsx(_components.p,{children:`Review every value you entered:`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Destination name`}),`\n`,_jsx(_components.li,{children:`API Bearer Token and Project Key`}),`\n`,_jsxs(_components.li,{children:[`Action: `,_jsx(_components.strong,{children:`Send audiences to Batch`})]}),`\n`,_jsx(_components.li,{children:`Field mapping (ID + any attributes)`}),`\n`,_jsx(_components.li,{children:`Audience Type matches the ID you are sending`}),`\n`]}),_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Create Destination`}),`. The destination now appears under `,_jsx(_components.strong,{children:`Audiences → Destinations`}),`, ready to link.`]}),_jsx(Frame,{caption:`Figure 6 — Mapping summary showing the chosen action and mapped attributes before saving.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image6.png?fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=88320f15d4ff60d84d47937f687695bc`,alt:`Mapping summary view with Send audiences to Batch action and last_name mapped under Map the Fields.`,\"data-og-width\":`1726`,width:`1726`,\"data-og-height\":`953`,height:`953`,\"data-path\":`images/batch-audience-management/image6.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image6.png?w=280\u0026fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=a356f3ce52747cdc995c43ad76fbde94 280w, https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image6.png?w=560\u0026fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=1a7767462f35a87435c80bd430d539f2 560w, https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image6.png?w=840\u0026fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=8e57669fdc0a701758f6307bc39ecc1d 840w, https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image6.png?w=1100\u0026fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=d850207b0fe5e646d5a25b09a8cbb112 1100w, https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image6.png?w=1650\u0026fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=7700a6f15629a7dcbf8d53a11c2b8bca 1650w, https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image6.png?w=2500\u0026fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=17bca15b3fcd5d1f1910113ade352f08 2500w`})})]})]}),`\n`,_jsx(Heading,{level:`3`,id:`action-2-—-mass-update-profiles`,children:`Action 2 — Mass Update Profiles`}),`\n`,_jsxs(_components.p,{children:[`Use this action to update attributes on `,_jsx(_components.strong,{children:`existing`}),` Batch profiles — to keep profile data in sync or to enrich it. Unlike `,_jsx(_components.em,{children:`Send audiences to Batch`}),`, this action `,_jsx(_components.strong,{children:`does not create an audience`}),`.`]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Update Batch profiles`}),` is the Journeys counterpart of this action. Configure the mapping exactly as described below — the procedure is identical — then use the destination from a journey instead of linking it to a segment.`]})}),`\n`,_jsxs(Steps,{children:[_jsxs(Step,{title:`Select the action`,children:[_jsxs(_components.p,{children:[`On the `,_jsx(_components.strong,{children:`Mapping`}),` screen, under `,_jsx(_components.strong,{children:`Choose your Action`}),`, select `,_jsx(_components.strong,{children:`Mass Update Profiles`}),`.`]}),_jsx(Frame,{caption:`Figure 7 — Choosing the Mass Update Profiles action on the Mapping screen.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image10.png?fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=270f35ab9557cde967ec6b9d1c9662cb`,alt:`Zeotap mapping screen named massupdate with the Mass Update Profiles action card selected.`,\"data-og-width\":`1726`,width:`1726`,\"data-og-height\":`895`,height:`895`,\"data-path\":`images/batch-audience-management/image10.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image10.png?w=280\u0026fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=ffe07c87aef26027e8167ed3eac1f41d 280w, https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image10.png?w=560\u0026fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=506dabcb2f914e7ccbd0bd6c2539fccf 560w, https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image10.png?w=840\u0026fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=00f5eb3e0bb847b571cd07904fc66dbd 840w, https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image10.png?w=1100\u0026fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=40b23eb8331bc592b531d7f0bbaf2acd 1100w, https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image10.png?w=1650\u0026fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=89bb04a3a3652efd70d9c5df8f013390 1650w, https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image10.png?w=2500\u0026fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=5e4b37a994928784221a7f8833814801 2500w`})})]}),_jsxs(Step,{title:`Map at least one identifier`,children:[_jsxs(_components.p,{children:[`Under `,_jsx(_components.strong,{children:`Identifiers`}),`, map at least one of `,_jsx(_components.strong,{children:`Custom ID`}),`, `,_jsx(_components.strong,{children:`Installation ID`}),` or `,_jsx(_components.strong,{children:`Device ID`}),`. You can map more than one.`]}),_jsx(Warning,{children:_jsx(_components.p,{children:`At least one identifier is required — it is what Batch matches the profile on. A mapping with attributes but no identifier cannot be applied.`})})]}),_jsxs(Step,{title:`Map the attributes you want to update`,children:[_jsxs(_components.p,{children:[`Under `,_jsx(_components.strong,{children:`Attributes`}),`, map the profile fields you want to keep in sync. All attributes are optional.`]}),_jsx(Frame,{caption:`Figure 8 — Identifiers and Attributes mapped: Email Raw to Custom ID, Age to Customer Tier, Custom_dateDM to Zeotap Date, and First Name 02 to Firstname.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image11.png?fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=f74c08b6f2c09ac132ec0c65266b421b`,alt:`Mass Update Profiles mapping showing the Identifiers section with Custom ID, Installation ID and Device ID, and the Attributes section with Customer Tier, Zeotap Date and Firstname.`,\"data-og-width\":`1726`,width:`1726`,\"data-og-height\":`670`,height:`670`,\"data-path\":`images/batch-audience-management/image11.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image11.png?w=280\u0026fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=4d14257af8cc1aa0749c3ef7ea7c9bcf 280w, https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image11.png?w=560\u0026fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=a9b02604420de539d19e1ddb2b90baba 560w, https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image11.png?w=840\u0026fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=48194878e1cbf038dd91a056b93ff6b3 840w, https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image11.png?w=1100\u0026fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=fb93f6f4623d7bbfd9395b4e20934658 1100w, https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image11.png?w=1650\u0026fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=d56956bf8f37ff7488c99c77d4dca768 1650w, https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image11.png?w=2500\u0026fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=f579d684a745195d9e73c95106f1f869 2500w`})}),_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Two fields need special date formatting: Birthday and Zeotap Date.`}),` These are the only fields with this requirement. They use an internal format (for example `,_jsx(_components.code,{children:`date(birthday)`}),`) and are ingested into Batch as timestamps, so supply values in ISO 8601 UTC — for example `,_jsx(_components.code,{children:`2012-08-12T22:30:05Z`}),`. No other field needs this formatting.`]})}),_jsxs(_components.p,{children:[`The `,_jsx(_components.strong,{children:`Attributes`}),` section lists the profile fields the connector exposes.`]}),_jsx(Frame,{caption:`Figure 9 — The Attributes section of the Mass Update Profiles mapping.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image12.png?fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=47d35ce5c50b4abe8b2f2a73ad59a590`,alt:`Attributes list showing Customer Tier, Zeotap Date, Firstname, Lastname, Email Address, Email Marketing and Phone Number.`,\"data-og-width\":`1726`,width:`1726`,\"data-og-height\":`597`,height:`597`,\"data-path\":`images/batch-audience-management/image12.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image12.png?w=280\u0026fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=bec5c76b2fa2d9f7770a63b3116be743 280w, https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image12.png?w=560\u0026fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=46209da768fff66b75573d0b36c57871 560w, https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image12.png?w=840\u0026fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=a532b3db29ccff83927e6bf1ff0f295d 840w, https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image12.png?w=1100\u0026fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=b29c0bcbb543c9819a4e754e0175b1e6 1100w, https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image12.png?w=1650\u0026fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=d293b9a3d038c9bb31d541090f00b735 1650w, https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image12.png?w=2500\u0026fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=2aaed762bb6b5ef4b48faa3921fc0c7e 2500w`})})]}),_jsx(Step,{title:`Optional: map topic preferences`,children:_jsxs(_components.p,{children:[`Under `,_jsx(_components.strong,{children:`Topic Preference`}),`, map a catalogue attribute to the `,_jsx(_components.strong,{children:`Add`}),` field to subscribe profiles to a topic. The section is repeatable — click `,_jsx(_components.strong,{children:`+ Add Mapping Field`}),` to add more rows.`]})}),_jsxs(Step,{title:`Optional: map events and event attributes`,children:[_jsx(_components.p,{children:`To send events into Batch as well:`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Under `,_jsx(_components.strong,{children:`Events`}),`, map the event `,_jsx(_components.strong,{children:`Name`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Under `,_jsx(_components.strong,{children:`Event Attributes`}),`, map `,_jsx(_components.strong,{children:`Label`}),` (String) and `,_jsx(_components.strong,{children:`Tags`}),` (List).`]}),`\n`]}),_jsx(Frame,{caption:`Figure 10 — The Topic Preference, Events and Event Attributes sections at the bottom of the mapping.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image13.png?fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=f5ef73b8f008a82a907acc0338c36073`,alt:`Mapping screen showing Topic Preference with an Add field, Events with a Name field, and Event Attributes with Label and Tags fields.`,\"data-og-width\":`1726`,width:`1726`,\"data-og-height\":`895`,height:`895`,\"data-path\":`images/batch-audience-management/image13.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image13.png?w=280\u0026fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=9b1193d80435a1a227870713d5f40895 280w, https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image13.png?w=560\u0026fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=89944e8e3f4216f6909d78508f56f282 560w, https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image13.png?w=840\u0026fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=4a5b71378ebcb00f9eb1eac99e3da5ea 840w, https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image13.png?w=1100\u0026fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=ff0b109a6954e592c0c9951e8112d1ec 1100w, https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image13.png?w=1650\u0026fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=c367ab9a5521cd43b31a8141d4b4aeb9 1650w, https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image13.png?w=2500\u0026fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=27a6811c0332b0bd9597de56da0970ab 2500w`})})]}),_jsx(Step,{title:`Save the mapping and link the destination`,children:_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Save Mapping`}),`, then link the destination to your audience using the same flow as Action 1 — see `,_jsx(_components.a,{href:`#link-a-segment-to-the-batch-cep-destination`,children:`Link a Segment to the Batch CEP Destination`}),` and Figures 11 and 12. Once processing finishes, the profile updates are applied in Batch.`]})})]}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Want both profile updates and an audience?`}),` Run `,_jsx(_components.strong,{children:`Mass Update Profiles`}),` first, then `,_jsx(_components.strong,{children:`Send audiences to Batch`}),` on the same audience. Each action lives in its own mapping on the same destination, so you can link both.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`link-a-segment-to-the-batch-cep-destination`,children:`Link a Segment to the Batch CEP Destination`}),`\n`,_jsx(_components.p,{children:`With the destination created, link it to an audience segment so Zeotap starts sending data.`}),`\n`,_jsxs(Steps,{children:[_jsxs(Step,{title:`Open the segment’s link menu`,children:[_jsxs(_components.p,{children:[`In Zeotap CDP, navigate to `,_jsx(_components.strong,{children:`Segment → Audiences`}),`. Find the audience you want to send, click the three-dots (⋮) icon next to it, and select `,_jsx(_components.strong,{children:`Link to Destination`}),`.`]}),_jsx(Frame,{caption:`Figure 11 — Linking an audience to a destination from the Audiences list.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image7.png?fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=16b720ec651b87e0cc183fea668ccf51`,alt:`Audiences list with a segment row’s three-dots menu open showing Link to Destination.`,\"data-og-width\":`1726`,width:`1726`,\"data-og-height\":`881`,height:`881`,\"data-path\":`images/batch-audience-management/image7.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image7.png?w=280\u0026fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=7316c0eb90fe373b72a124d3ffd64f6b 280w, https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image7.png?w=560\u0026fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=65c3cc29ac2174fe222539e64e68fc62 560w, https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image7.png?w=840\u0026fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=b4ec917849eeefdb186d6bd06d03f308 840w, https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image7.png?w=1100\u0026fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=34e4cf5f7764432cab8507f215ebd2cc 1100w, https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image7.png?w=1650\u0026fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=dd49665d5fec80457914aedb3e1a1455 1650w, https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image7.png?w=2500\u0026fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=4197305e114bf9b2bec63ba76cb03f57 2500w`})})]}),_jsxs(Step,{title:`Select the Batch CEP destination, mapping, and refresh frequency`,children:[_jsx(_components.p,{children:`On the linking screen:`}),_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Choose the `,_jsx(_components.strong,{children:`Batch CEP`}),` destination you created from the destination list on the right.`]}),`\n`,_jsxs(_components.li,{children:[`Pick the `,_jsx(_components.strong,{children:`mapping`}),` to apply to this audience. The mapping you choose determines which action runs — the one built for `,_jsx(_components.em,{children:`Send audiences to Batch`}),` or the one built for `,_jsx(_components.em,{children:`Mass Update Profiles`}),`. If you set up both, you can link both mappings.`]}),`\n`,_jsxs(_components.li,{children:[`Pick a `,_jsx(_components.strong,{children:`refresh frequency`}),` that suits your use case (e.g., one-time, scheduled, or continuous).`]}),`\n`,_jsxs(_components.li,{children:[`Click `,_jsx(_components.strong,{children:`Save Destination`}),`, then save the segment setup.`]}),`\n`]}),_jsx(Frame,{caption:`Figure 12 — Audience-to-destination linking screen with the mapping and destinations panel.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image8.png?fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=a1e233de75f147a153f2b7c1ab2642c6`,alt:`Linking screen showing mapping cards on the left and Batch destination cards on the right.`,\"data-og-width\":`1726`,width:`1726`,\"data-og-height\":`845`,height:`845`,\"data-path\":`images/batch-audience-management/image8.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image8.png?w=280\u0026fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=7a8e5c3cb779d58e4774410e5bea36d6 280w, https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image8.png?w=560\u0026fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=16d9f9a9c34ea55b547a2a71cf839ac3 560w, https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image8.png?w=840\u0026fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=3a3b961c385431b618cb358517564709 840w, https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image8.png?w=1100\u0026fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=8fe9bcc6a7cbed07879f5ecf1af66d8a 1100w, https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image8.png?w=1650\u0026fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=b4fdd14f060f15988694a0c1d3f0a480 1650w, https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image8.png?w=2500\u0026fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=214a9429544a46f207e4260649287c2c 2500w`})})]})]}),`\n`,_jsxs(_components.p,{children:[`For more on linking audiences in general, see `,_jsx(_components.a,{href:`/articles/integrate-customer/link-an-audience-to-the-destination`,children:`Link an Audience to the Destination`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`field-mapping-reference`,children:`Field Mapping Reference`}),`\n`,_jsx(Heading,{level:`3`,id:`send-audiences-to-batch`,children:`Send audiences to Batch`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Zeotap CDP field`}),_jsx(_components.th,{children:`Maps to (Batch)`}),_jsx(_components.th,{children:`Required / Optional`}),_jsx(_components.th,{children:`Notes`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Audience Name (set by Zeotap)`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`name`})}),_jsx(_components.td,{children:_jsx(_components.strong,{children:`Required`})}),_jsxs(_components.td,{children:[`The name Batch uses to identify the audience. Letters, numbers, underscores (`,_jsx(_components.code,{children:`_`}),`), and hyphens (`,_jsx(_components.code,{children:`-`}),`) only. Maximum 255 characters. `,_jsx(_components.strong,{children:`Case-sensitive.`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Audience Display Name`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`display_name`})}),_jsx(_components.td,{children:`Optional`}),_jsx(_components.td,{children:`Human-readable description shown in Batch.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Audience Type`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`type`})}),_jsx(_components.td,{children:_jsx(_components.strong,{children:`Required`})}),_jsxs(_components.td,{children:[`Must be one of `,_jsx(_components.code,{children:`custom_ids`}),`, `,_jsx(_components.code,{children:`emails`}),`, or `,_jsx(_components.code,{children:`install_ids`}),`, and must match the identifier you map.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Mapped ID field`}),_jsx(_components.td,{children:`audience identifier`}),_jsx(_components.td,{children:_jsx(_components.strong,{children:`Required`})}),_jsx(_components.td,{children:`The user identifier each record is added under (e.g., email, custom user ID, install ID).`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Mapped attribute fields`}),_jsxs(_components.td,{children:[`audience-level (`,_jsx(_components.em,{children:`rich audience`}),`) attributes`]}),_jsx(_components.td,{children:`Optional`}),_jsxs(_components.td,{children:[`Up to `,_jsx(_components.strong,{children:`15 attributes per user`}),`. These are not written to user profiles — see the warning in Action 1.`]})]})]})]}),`\n`,_jsx(Heading,{level:`3`,id:`mass-update-profiles`,children:`Mass Update Profiles`}),`\n`,_jsxs(_components.p,{children:[`This reference also applies to `,_jsx(_components.strong,{children:`Update Batch profiles`}),`, which uses the same mapping.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Identifiers`}),` — map at least one; you may map several:`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Destination field`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{children:`Required / Optional`}),_jsx(_components.th,{children:`Notes`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Custom ID`}),_jsx(_components.td,{children:`String`}),_jsx(_components.td,{children:`At least one required`}),_jsx(_components.td,{children:`Your own internal user ID.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Installation ID`}),_jsx(_components.td,{children:`String`}),_jsx(_components.td,{children:`At least one required`}),_jsx(_components.td,{children:`Batch installation identifier.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Device ID`}),_jsx(_components.td,{children:`String`}),_jsx(_components.td,{children:`At least one required`}),_jsx(_components.td,{children:`Device identifier.`})]})]})]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Attributes`}),` — all optional. The following are visible on the mapping screen:`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Destination field`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{children:`Notes`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Customer Tier`}),_jsx(_components.td,{children:`String`}),_jsx(_components.td,{})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Zeotap Date`}),_jsx(_components.td,{children:`String`}),_jsx(_components.td,{children:`Needs ISO 8601 UTC formatting — see the date warning in Action 2. Can be used as a refresh timestamp.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Firstname`}),_jsx(_components.td,{children:`String`}),_jsx(_components.td,{})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Lastname`}),_jsx(_components.td,{children:`String`}),_jsx(_components.td,{})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Email Address`}),_jsx(_components.td,{children:`String`}),_jsx(_components.td,{children:`Profile email. For this action email is an attribute, not an identifier.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Email Marketing`}),_jsx(_components.td,{children:`String`}),_jsx(_components.td,{})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Phone Number`}),_jsx(_components.td,{children:`String`}),_jsx(_components.td,{})]})]})]}),`\n`,_jsxs(_components.p,{children:[`The attribute list continues past `,_jsx(_components.strong,{children:`Phone Number`}),`. Other profile fields commonly available include `,_jsx(_components.strong,{children:`Region`}),`, `,_jsx(_components.strong,{children:`Timezone`}),`, `,_jsx(_components.strong,{children:`Birthday / Date of birth`}),` (needs the same ISO 8601 UTC formatting as Zeotap Date), `,_jsx(_components.strong,{children:`Interests`}),`, and any custom attributes configured on your Batch project.`]}),`\n`,_jsx(Note,{children:_jsx(_components.p,{children:`Confirm the full attribute list in your own workspace — the fields the connector exposes depend on your Batch project configuration.`})}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Topic Preference, Events, and Event Attributes`}),` — all optional:`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Section`}),_jsx(_components.th,{children:`Destination field`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{children:`Notes`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Topic Preference`}),_jsx(_components.td,{children:`Add`}),_jsx(_components.td,{children:`String`}),_jsxs(_components.td,{children:[`Repeatable — use `,_jsx(_components.strong,{children:`+ Add Mapping Field`}),` to map more topics.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Events`}),_jsx(_components.td,{children:`Name`}),_jsx(_components.td,{children:`String`}),_jsx(_components.td,{children:`The name of the event to send into Batch.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Event Attributes`}),_jsx(_components.td,{children:`Label`}),_jsx(_components.td,{children:`String`}),_jsx(_components.td,{children:`Attribute associated with the event.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Event Attributes`}),_jsx(_components.td,{children:`Tags`}),_jsx(_components.td,{children:`List`}),_jsx(_components.td,{children:`List of tags associated with the event.`})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`activate-and-test-the-integration`,children:`Activate and Test the Integration`}),`\n`,_jsx(_components.p,{children:`Once the segment is linked and saved, verify the data has reached Batch.`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Wait for the sync`,children:_jsx(_components.p,{children:`Zeotap encrypts and sends the data to Batch in the background, based on the refresh frequency you chose.`})}),_jsxs(Step,{title:`Verify Send audiences to Batch`,children:[_jsxs(_components.p,{children:[`Log in to `,_jsx(_components.strong,{children:`Batch`}),`, then go to `,_jsx(_components.strong,{children:`Data → Audiences`}),`. The audience you sent from Zeotap appears in the list. Open it and check the identifier count — it should match (or closely match) the number of users in your Zeotap segment.`]}),_jsxs(_components.p,{children:[`In the example walkthrough, an audience of approximately `,_jsx(_components.strong,{children:`5,000 identifiers`}),` appeared in Batch shortly after the sync completed.`]}),_jsx(Frame,{caption:`Figure 13 — Batch Data → Audiences with the synced audience and identifier count visible.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image9.png?fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=9c732796f0adac2ca2afdcfa05d5f1de`,alt:`Batch Audiences list showing a synced audience with Total IDs in this audience around 5K.`,\"data-og-width\":`1726`,width:`1726`,\"data-og-height\":`953`,height:`953`,\"data-path\":`images/batch-audience-management/image9.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image9.png?w=280\u0026fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=136981a68ed5cec9ef24e4e4650f5dbb 280w, https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image9.png?w=560\u0026fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=bf4946989b6e6654de2bdc991732e396 560w, https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image9.png?w=840\u0026fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=6dc202bc85eda90d42cc40ab333322f7 840w, https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image9.png?w=1100\u0026fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=ebfeb0f923306d3191d12200b0e85087 1100w, https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image9.png?w=1650\u0026fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=4873eec6d3f2ab4060abb8d7ecc0efb0 1650w, https://mintcdn.com/zeotap/sqJCClAg56Le4n8T/images/batch-audience-management/image9.png?w=2500\u0026fit=max\u0026auto=format\u0026n=sqJCClAg56Le4n8T\u0026q=85\u0026s=56442e03276db386aa688f5f3e591320 2500w`})})]}),_jsx(Step,{title:`Verify Mass Update Profiles`,children:_jsx(_components.p,{children:`No audience is created by this action, so verify at the profile level instead: in Batch, look up a user you know was in the linked segment and confirm the attributes you mapped now appear on that profile.`})})]}),`\n`,_jsxs(_components.p,{children:[`A successful integration looks like this: for `,_jsx(_components.strong,{children:`Send audiences to Batch`}),`, your audience appears in Batch under `,_jsx(_components.strong,{children:`Data → Audiences`}),` with the expected identifier count and the correct audience type, ready for campaign targeting. For `,_jsx(_components.strong,{children:`Mass Update Profiles`}),`, the mapped attributes appear on the matching Batch profiles.`]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`Batch processes audience data `,_jsx(_components.strong,{children:`asynchronously`}),`. After a successful send, Batch returns an `,_jsx(_components.code,{children:`indexing_token`}),` and processes the records in the background — usually in real time, but no SLA is guaranteed. If counts do not appear immediately, wait a few minutes and refresh the audience view.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`important-notes-\u0026-limitations`,children:`Important Notes \u0026 Limitations`}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Send audiences to Batch`})}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Audience Type must match the identifier.`}),` If you send emails into a `,_jsx(_components.code,{children:`Custom Ids`}),` audience (or vice versa), Batch rejects the records. Always confirm the audience type before saving the destination.`]})}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Audience names are case-sensitive and have character restrictions.`}),` Only letters (a–z, A–Z), numbers (0–9), underscores (`,_jsx(_components.code,{children:`_`}),`), and hyphens (`,_jsx(_components.code,{children:`-`}),`) are allowed, with a maximum of 255 characters. Names with special characters, spaces, or accents will fail.`]})}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Batching is automatic.`}),` Each Update request to Batch supports up to `,_jsx(_components.strong,{children:`10,000 IDs`}),`. For audiences larger than 10,000, Zeotap automatically splits the payload into multiple sequential requests against the same audience name — you do not need to do anything.`]})}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Maximum 15 attributes per user.`}),` If you map more than 15 attributes, the additional ones are not sent.`]})}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Attributes stay at the audience level.`}),` They are not merged into user profiles and cannot be used as segmentation filters. If you need attributes on the profile, use `,_jsx(_components.strong,{children:`Mass Update Profiles`}),` instead.`]})}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Mass Update Profiles`})}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`No audience is created.`}),` This action only updates existing Batch profiles. Use `,_jsx(_components.em,{children:`Send audiences to Batch`}),` if you need a targetable audience.`]})}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`At least one identifier is required`}),` — Custom ID, Installation ID or Device ID. It is what Batch matches the profile on.`]})}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Birthday and Zeotap Date need ISO 8601 UTC formatting`}),` (for example `,_jsx(_components.code,{children:`2012-08-12T22:30:05Z`}),`). They are the only two fields with a special date-format requirement.`]})}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Audience Type, the 15-attribute cap and the 10,000-ID batching rule do not apply to this action.`}),` They are limits of the Batch Audience API, which this action does not use.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`support`,children:`Support`}),`\n`,_jsx(_components.p,{children:`If you run into issues during setup or have questions about the Zeotap-to-Batch CEP integration, reach out to your Zeotap account manager or contact the Zeotap support team.`})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Batch CEP","description":"Connect Zeotap CDP to Batch CEP with an API Bearer Token and Project Key. Send audience segments to Batch as a named audience, or use Mass Update Profiles to keep Batch profile attributes, topic preferences and events in sync.","href":"/articles/integrate-customer/batch-audience-management"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Overview","slug":"overview","depth":2,"children":[]},{"title":"Available Actions","slug":"available-actions","depth":2,"children":[]},{"title":"Supported Identifiers","slug":"supported-identifiers","depth":2,"children":[]},{"title":"How It Works","slug":"how-it-works","depth":2,"children":[]},{"title":"Prerequisites","slug":"prerequisites","depth":2,"children":[]},{"title":"Get Your Credentials from Batch","slug":"get-your-credentials-from-batch","depth":2,"children":[]},{"title":"Create the Batch CEP Destination in Zeotap CDP","slug":"create-the-batch-cep-destination-in-zeotap-cdp","depth":2,"children":[{"title":"Enter your Batch credentials","slug":"enter-your-batch-credentials","depth":3,"children":[]},{"title":"Action 1 — Send audiences to Batch","slug":"action-1-—-send-audiences-to-batch","depth":3,"children":[]},{"title":"Action 2 — Mass Update Profiles","slug":"action-2-—-mass-update-profiles","depth":3,"children":[]}]},{"title":"Link a Segment to the Batch CEP Destination","slug":"link-a-segment-to-the-batch-cep-destination","depth":2,"children":[]},{"title":"Field Mapping Reference","slug":"field-mapping-reference","depth":2,"children":[{"title":"Send audiences to Batch","slug":"send-audiences-to-batch","depth":3,"children":[]},{"title":"Mass Update Profiles","slug":"mass-update-profiles","depth":3,"children":[]}]},{"title":"Activate and Test the Integration","slug":"activate-and-test-the-integration","depth":2,"children":[]},{"title":"Important Notes \u0026 Limitations","slug":"important-notes-\u0026-limitations","depth":2,"children":[]},{"title":"Support","slug":"support","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/zeotap/8d1f66bf8eed64a4/scripts/convert-to-mdx.js"],"subdomain":"zeotap","siteName":"Zeotap docs","title":"Batch CEP - Zeotap docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-08-24T13:49:56.203Z","gitLastModified":"2026-08-24T13:48:37.000Z","originalFileLocation":"articles/integrate-customer/batch-audience-management.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"light\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Connect Zeotap CDP to Batch CEP with an API Bearer Token and Project Key. Send audience segments to Batch as a named audience, or use Mass Update Profiles to keep Batch profile attributes, topic preferences and events in sync.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Zeotap docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/zeotap/dSUuokAmJ7V-SYpL/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/zeotap/dSUuokAmJ7V-SYpL/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/zeotap/dSUuokAmJ7V-SYpL/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/zeotap/dSUuokAmJ7V-SYpL/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/zeotap/dSUuokAmJ7V-SYpL/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/zeotap/dSUuokAmJ7V-SYpL/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/zeotap/dSUuokAmJ7V-SYpL/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/zeotap/dSUuokAmJ7V-SYpL/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/zeotap/dSUuokAmJ7V-SYpL/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Batch CEP - Zeotap docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Connect Zeotap CDP to Batch CEP with an API Bearer Token and Project Key. Send audience segments to Batch as a named audience, or use Mass Update Profiles to keep Batch profile attributes, topic preferences and events in sync.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Zeotap docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.zeotap.com/articles/integrate-customer/batch-audience-management\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://zeotap.mintlify.app/_mintlify/api/og/v2?division=Batch+Integrations\u0026amp;title=Batch+CEP\u0026amp;description=Connect+Zeotap+CDP+to+Batch+CEP+with+an+API+Bearer+Token+and+Project+Key.+Send+audience+segments+to+Batch+as+a+named+audience%2C+or+use+Mass+Update+Profiles+to+ke\u0026amp;theme=860bb9e6ef8e2213f794d7e2\u0026amp;signature=2ea522111389d332e14229160b1396108a54881073349edc62b878a38441b73f\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Batch CEP - Zeotap docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Connect Zeotap CDP to Batch CEP with an API Bearer Token and Project Key. Send audience segments to Batch as a named audience, or use Mass Update Profiles to keep Batch profile attributes, topic preferences and events in sync.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://zeotap.mintlify.app/_mintlify/api/og/v2?division=Batch+Integrations\u0026amp;title=Batch+CEP\u0026amp;description=Connect+Zeotap+CDP+to+Batch+CEP+with+an+API+Bearer+Token+and+Project+Key.+Send+audience+segments+to+Batch+as+a+named+audience%2C+or+use+Mass+Update+Profiles+to+ke\u0026amp;theme=860bb9e6ef8e2213f794d7e2\u0026amp;signature=2ea522111389d332e14229160b1396108a54881073349edc62b878a38441b73f\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/zeotap/dSUuokAmJ7V-SYpL/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Zeotap docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#174efb\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.zeotap.com/articles/integrate-customer/batch-audience-management\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/articles/integrate-customer/batch-audience-management.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.zeotap.com/#organization\",\"name\":\"Zeotap docs\",\"url\":\"https://docs.zeotap.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/zeotap/pbiFRnrYXBNUsbba/logo/light.svg?fit=max\u0026auto=format\u0026n=pbiFRnrYXBNUsbba\u0026q=85\u0026s=c566b5af653699d3bcf4d8efb4f678d1\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.zeotap.com#website\",\"name\":\"Zeotap docs\",\"url\":\"https://docs.zeotap.com\",\"publisher\":{\"@id\":\"https://docs.zeotap.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.zeotap.com/articles/integrate-customer/batch-audience-management#webpage\",\"url\":\"https://docs.zeotap.com/articles/integrate-customer/batch-audience-management\",\"name\":\"Batch CEP\",\"description\":\"Connect Zeotap CDP to Batch CEP with an API Bearer Token and Project Key. Send audience segments to Batch as a named audience, or use Mass Update Profiles to keep Batch profile attributes, topic preferences and events in sync.\",\"dateModified\":\"2026-08-24T13:48:37.000Z\",\"isPartOf\":{\"@id\":\"https://docs.zeotap.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.zeotap.com/articles/integrate-customer/batch-audience-management#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.zeotap.com/articles/integrate-customer/batch-audience-management#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Integrate\",\"item\":\"https://docs.zeotap.com/articles/integrate-customer/integrate\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Destinations\",\"item\":\"https://docs.zeotap.com/articles/integrate-customer/destinations\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Batch Integrations\",\"item\":\"https://docs.zeotap.com/articles/integrate-customer/destination-batch-integrations\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Batch CEP\",\"item\":\"https://docs.zeotap.com/articles/integrate-customer/batch-audience-management\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.zeotap.com/articles/integrate-customer/batch-audience-management#article\",\"headline\":\"Batch CEP\",\"name\":\"Batch CEP\",\"description\":\"Connect Zeotap CDP to Batch CEP with an API Bearer Token and Project Key. Send audience segments to Batch as a named audience, or use Mass Update Profiles to keep Batch profile attributes, topic preferences and events in sync.\",\"url\":\"https://docs.zeotap.com/articles/integrate-customer/batch-audience-management\",\"mainEntityOfPage\":{\"@id\":\"https://docs.zeotap.com/articles/integrate-customer/batch-audience-management#webpage\"},\"dateModified\":\"2026-08-24T13:48:37.000Z\",\"publisher\":{\"@id\":\"https://docs.zeotap.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.zeotap.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Zeotap docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Zeotap docs","nav":{"global":{},"tabs":[{"tab":"Home","icon":"house","pages":[{"title":"Home","href":""}]},{"tab":"Products","icon":"grid-2","groups":[{"group":"Integrate","icon":"plug","root":{"title":"Integrate","sidebarTitle":"Overview","href":"/articles/integrate-customer/integrate"},"expanded":false,"pages":[{"group":"Sources","icon":"database","root":{"title":"Sources","sidebarTitle":"Overview","href":"/articles/integrate-customer/sources"},"pages":[{"title":"Components of the Source Listing Page","sidebarTitle":"Source Listing Page","href":"/articles/integrate-customer/components-of-the-source-listing-page"},{"title":"Components of the Preview Data Tab","sidebarTitle":"Preview Data tab","href":"/articles/integrate-customer/knowing-the-fields-on-the-preview-data-tab"},{"title":"Onboard Raw PII data into Zeotap","href":"/articles/integrate-customer/onboard-raw-pii-data-into-zeotap"},{"group":"Source Integrations (Batch+Real-Time)","root":{"title":"Source Integrations (Batch+Real-Time)","href":"/articles/integrate-customer/creating-a-source"},"pages":[{"group":"Website Events (CE)","root":{"title":"Website Events (CE)","sidebarTitle":"Website Events","href":"/articles/integrate-customer/website-events"},"pages":[{"group":"Web JavaScript SDK","root":{"title":"Web JavaScript SDK","href":"/articles/integrate-customer/web-javascript"},"pages":[{"title":"Creating Web JS Source","href":"/articles/integrate-customer/creating-web-js-source-2676490558"}]},{"group":"Web Pixel/Web IFrame/App Pixel","root":{"title":"Web Pixel/Web IFrame/App Pixel","href":"/articles/integrate-customer/web-pixel-web-iframe-app-pixel"},"pages":[{"title":"Create a Web Pixel/Web iFrame/App Pixel Source","href":"/articles/integrate-customer/2676392376"},{"title":"Implement the Pixel Source","href":"/articles/integrate-customer/implementing-pixel-source-2665775396"},{"title":"Implement the Pixels on a Site, Ad or Campaign","href":"/articles/integrate-customer/implementing-pixels-on-a-site-2c-ad-or-campaign-2693727342"}]}]},{"group":"App Events (CE)","root":{"title":"App Events (CE)","href":"/articles/integrate-customer/app-events"},"pages":[{"group":"Android SDK","root":{"title":"Android SDK","href":"/articles/integrate-customer/android-sdk"},"pages":[{"title":"Create an Android SDK Source","href":"/articles/integrate-customer/creating-android-sdk-source"}]},{"group":"iOS SDK","root":{"title":"iOS SDK","href":"/articles/integrate-customer/ios-sdk"},"pages":[{"title":"Create an iOS SDK Source","href":"/articles/integrate-customer/create-an-ios-sdk-source"}]},{"title":"SDK Reference","href":"/articles/integrate-customer/sdk-reference"}]},{"group":"Flat Files (CE+NCE)","root":{"title":"Flat Files (CE+NCE)","sidebarTitle":"Flat Files","href":"/articles/integrate-customer/flat-files"},"pages":[{"group":"Zeotap Google Cloud Storage","root":{"title":"Zeotap Google Cloud Storage","href":"/articles/integrate-customer/zeotap-google-cloud-storage"},"pages":[{"title":"Create a Zeotap Google Cloud Storage Source","href":"/articles/integrate-customer/create-a-zeotap-google-cloud-storage-source"},{"title":"Upload Files on Zeotap Google Cloud Storage","href":"/articles/integrate-customer/implement-a-zeotap-google-cloud-storage-source"},{"title":"Upload files to your source using the Google Cloud Console","sidebarTitle":"Upload with Cloud Console","href":"/articles/integrate-customer/upload-files-on-gcloud-console"},{"title":"Upload files to your source using gsutil","sidebarTitle":"Upload with gsutil","href":"/articles/integrate-customer/upload-files-using-gsutil"},{"title":"Upload files to your source using Cyberduck","sidebarTitle":"Upload with Cyberduck","href":"/articles/integrate-customer/upload-files-using-cyberduck"}]},{"group":"SFTP (Secure File Transfer Protocol)","root":{"title":"SFTP (Secure File Transfer Protocol)","href":"/articles/integrate-customer/sftp-secure-file-transfer-protocol"},"pages":[{"group":"Create an SFTP (Pull) Source","root":{"title":"Create an SFTP (Push) Source","href":"/articles/integrate-customer/creating-sftp-push-source"},"pages":[{"title":"Implement the SFTP (Push) Source","href":"/articles/integrate-customer/implementing-sftp-push-source"}]},{"group":"Create an SFTP (Pull) Source","root":{"title":"Create an SFTP (Pull) Source","href":"/articles/integrate-customer/create-an-sftp-pull-source"},"pages":[{"title":"Implement the SFTP Pull Source","href":"/articles/integrate-customer/implement-the-sftp-pull-source"}]}]},{"group":"Best Practices for Flat File Source","root":{"title":"Best Practices for Flat File Source","sidebarTitle":"Flat file best practices","href":"/articles/integrate-customer/best-practices-for-flat-file-source-2709422090"},"pages":[{"title":"Supported File Formats","href":"/articles/integrate-customer/supported-file-formats"}]}]},{"group":"Server-to-Server (CE+NCE)","root":{"title":"Server-to-Server (CE+NCE)","sidebarTitle":"Overview","href":"/articles/integrate-customer/server-to-server"},"pages":[{"title":"Create and Implement the Server-to-Server Source","sidebarTitle":"Server-to-Server source","href":"/articles/integrate-customer/implementing-server-to-server-source-2665709918"},{"title":"Create an Adjust source","sidebarTitle":"Adjust","href":"/articles/integrate-customer/create-an-adjust-source"}]},{"group":"Tag Managers (CE)","root":{"title":"Tag Managers (CE)","href":"/articles/integrate-customer/tag-managers"},"pages":[{"group":"Adobe Experience Platform Tag Extension","root":{"title":"Adobe Experience Platform Tag Extension","href":"/articles/integrate-customer/adobe-experience-platform-tag-extension"},"pages":[{"group":"Create an Adobe Experience Platform Tag Extension Source","root":{"title":"Create an Adobe Experience Platform Tag Extension Source","href":"/articles/integrate-customer/create-an-adobe-experience-platform-tag-extension-source"},"pages":[{"title":"Implement an Adobe Experience Platform Tag Extension Source","href":"/articles/integrate-customer/implement-an-adobe-experience-platform-tag-extension-source"}]}]},{"group":"Google Tag Manager","root":{"title":"Google Tag Manager","href":"/articles/integrate-customer/google-tag-manager"},"pages":[{"title":"Create a Tag Manager Source","href":"/articles/integrate-customer/creating-tag-manager-source-2676490586"},{"title":"Implement the Google Tag Manager Source","href":"/articles/integrate-customer/implementing-google-tag-manager-source-2665775403"}]}]},{"group":"CRM Data (CE)","root":{"title":"CRM Data","href":"/articles/integrate-customer/crm-data"},"pages":[{"group":"HubSpot Source","root":{"title":"HubSpot Source","sidebarTitle":"Overview","href":"/articles/integrate-customer/hubspot-source"},"pages":[{"title":"Create a HubSpot Source","href":"/articles/integrate-customer/create-a-hubspot-source"}]},{"group":"Microsoft Dynamics CRM","root":{"title":"Microsoft Dynamics CRM source","sidebarTitle":"Microsoft Dynamics CRM","href":"/articles/integrate-customer/ms-dynamics-source"},"pages":[{"title":"Create a Microsoft Dynamics CRM source","sidebarTitle":"Create a source","href":"/articles/integrate-customer/create-a-ms-dynamics-crm-source"}]},{"group":"Salesforce CRM","root":{"title":"Salesforce CRM source","sidebarTitle":"Salesforce CRM","href":"/articles/integrate-customer/salesforce-crm"},"pages":[{"title":"Create a Salesforce CRM Source","href":"/articles/integrate-customer/creating-salesforce-crm"},{"title":"Best Practices for Salesforce CRM Source","href":"/articles/integrate-customer/best-practices-for-salesforce-crm-source"}]}]},{"group":"Data Warehouse (CE+NCE)","root":{"title":"Data Warehouse (CE+NCE)","href":"/articles/integrate-customer/data-warehouse"},"pages":[{"group":"Snowflake","root":{"title":"Snowflake","href":"/articles/integrate-customer/snowflake"},"pages":[{"title":"Create a Snowflake Source and Load Data","href":"/articles/integrate-customer/create-a-snowflake-source"},{"title":"Best Practices for Snowflake Source","href":"/articles/integrate-customer/best-practices-for-snowflake-source"},{"title":"Error Handling and More","href":"/articles/integrate-customer/snowflake-source-error-handling-and-more"},{"title":"FAQs for Snowflake","href":"/articles/integrate-customer/faqs-for-snowflake"}]},{"group":"BigQuery","root":{"title":"BigQuery","href":"/articles/integrate-customer/bigquery"},"pages":[{"title":"Create and Implement a BigQuery Source","href":"/articles/integrate-customer/create-a-bigquery-source"},{"title":"Best Practices for BigQuery","sidebarTitle":"Best Practices for BigQuery","href":"/articles/integrate-customer/best-practices-for-bigquery"}]},{"group":"Amazon S3","root":{"title":"Amazon S3","href":"/articles/integrate-customer/amazon-s3"},"pages":[{"title":"Create and Implement an Amazon S3 Source","href":"/articles/integrate-customer/create-and-implement-an-amazon-s3-source"}]},{"group":"Databricks","root":{"title":"Databricks source overview","sidebarTitle":"Databricks","href":"/articles/integrate-customer/databricks"},"pages":[{"title":"Create and Implement a Databricks Source","sidebarTitle":"Databricks Source","href":"/articles/integrate-customer/create-and-implement-a-databricks-source"},{"title":"Set Up a Databricks Source","href":"/articles/integrate-customer/set-up-a-databricks-source"}]},{"title":"Microsoft Fabric","href":"/articles/integrate-customer/microsoft-fabric"}]},{"group":"Customer Engagement Channels (CE)","root":{"title":"Customer Engagement Channels (CE)","href":"/articles/integrate-customer/customer-engagement-channels"},"pages":[{"group":"Batch Source","root":{"title":"Batch Source","href":"/articles/integrate-customer/batch-source"},"pages":[{"title":"Create a Batch Source","href":"/articles/integrate-customer/create-a-batch-source"}]},{"group":"Braze Currents","root":{"title":"Braze Currents","href":"/articles/integrate-customer/braze-currents"},"pages":[{"group":"Create a Braze Currents Source","root":{"title":"Create a Braze Currents Source","href":"/articles/integrate-customer/create-a-braze-currents-source"},"pages":[{"title":"Implement a Braze Currents Source","href":"/articles/integrate-customer/implement-a-braze-currents-source"}]},{"title":"Best Practices for Braze Currents","href":"/articles/integrate-customer/best-practices-for-braze-currents"}]},{"group":"Dotdigital","root":{"title":"Dotdigital","href":"/articles/integrate-customer/dotdigital"},"pages":[{"title":"Create a Dotdigital Source","href":"/articles/integrate-customer/create-a-dotdigital-source"}]},{"group":"Airship (Batch)","root":{"title":"Airship (Batch) Source","href":"/articles/integrate-customer/airship-batch-source"},"pages":[{"title":"Create an Airship (Batch) Source","href":"/articles/integrate-customer/create-an-airship-batch-source"}]},{"group":"Airship Real-Time Data Streaming","root":{"title":"Airship Real-Time Data Streaming Source","href":"/articles/integrate-customer/airship-real-time-data-streaming-source"},"pages":[{"title":"Create an Airship Real-Time Data Streaming Source","href":"/articles/integrate-customer/create-an-airship-real-time-data-streaming-source"},{"title":"Implement an Airship Real-Time Data Streaming Source","sidebarTitle":"Implement the Airship source","href":"/articles/integrate-customer/implement-an-airship-real-time-data-streaming-source"}]},{"group":"Cleverpush (Batch) Source","root":{"title":"Cleverpush (Batch) Source","sidebarTitle":"Overview","href":"/articles/integrate-customer/cleverpush-batch-source"},"pages":[{"title":"Create a Cleverpush (Batch) source","sidebarTitle":"Create a Cleverpush (Batch) source","href":"/articles/integrate-customer/create-a-cleverpush-batch-source"},{"title":"Appendix for the Cleverpush sources","sidebarTitle":"Appendix","href":"/articles/integrate-customer/cleverpush_appendix"}]},{"group":"Cleverpush Real-Time Source","root":{"title":"Cleverpush Real-Time Source","sidebarTitle":"Overview","href":"/articles/integrate-customer/cleverpush-real-time-source"},"pages":[{"title":"Create a Cleverpush Real-Time source","sidebarTitle":"Create a Cleverpush Real-Time source","href":"/articles/integrate-customer/create-a-cleverpush-real-time-source"},{"title":"Implement a Cleverpush real-time source","sidebarTitle":"Implement the source","href":"/articles/integrate-customer/implement-a-cleverpush-real-time-source"}]},{"group":"Emarsys Source","root":{"title":"Emarsys Source","href":"/articles/integrate-customer/emarsys-source"},"pages":[{"title":"Getting Emarsys Credentials","href":"/articles/integrate-customer/getting-emarsys-credentials"},{"title":"Creating an Emarsys Source","href":"/articles/integrate-customer/creating-an-emarsys-source"}]},{"group":"Insider Webhook","root":{"title":"Insider Webhook Source","sidebarTitle":"Overview","href":"/articles/integrate-customer/insider-webhook"},"pages":[{"title":"Create an Insider source","sidebarTitle":"Create an Insider source","href":"/articles/integrate-customer/create-an-insider-source"},{"title":"Implement an Insider Source","sidebarTitle":"Implement the Insider source","href":"/articles/integrate-customer/implement-an-insider-source"}]},{"group":"Moengage Source","root":{"title":"MoEngage source","sidebarTitle":"MoEngage source","href":"/articles/integrate-customer/moengage-source"},"pages":[{"title":"Create a MoEngage Events stream source","sidebarTitle":"Create the source","href":"/articles/integrate-customer/creating-a-moengage-stream"}]}]},{"group":"Message Queue","root":{"title":"Message Queue","sidebarTitle":"Overview","href":"/articles/integrate-customer/message-queue"},"pages":[{"group":"Pub/Sub Stream","root":{"title":"Pub/Sub Stream","href":"/articles/integrate-customer/pub-sub-stream"},"pages":[{"title":"Create a Pub/Sub Stream Source","sidebarTitle":"Create Pub/Sub Stream source","href":"/articles/integrate-customer/create-a-pub-sub-streaming-source"}]},{"group":"Pub/Sub Batch","root":{"title":"Pub/Sub Batch","href":"/articles/integrate-customer/pub-sub-batch"},"pages":[{"title":"Create a Pub/Sub Batch Source","href":"/articles/integrate-customer/create-a-pub-sub-batch-source"}]},{"title":"Kafka","href":"/articles/integrate-customer/kafka_message_queue"}]},{"title":"Blacklisted Fields for Data Ingestion","href":"/articles/integrate-customer/blacklisted-fields-for-data-ingestion"}]},{"title":"Source Alerts","sidebarTitle":"Source Alerts","href":"/articles/integrate-customer/source-alerts"},{"group":"Source Report","root":{"title":"Source Report","sidebarTitle":"Overview","href":"/articles/integrate-customer/source-report"},"pages":[{"title":"Exploring Source Reports","href":"/articles/integrate-customer/exploring-source-reports"},{"title":"Understanding the Ingestion Log Error","sidebarTitle":"Ingestion log errors","href":"/articles/integrate-customer/understanding-the-ingestion-log-error"}]},{"title":"Understanding Cookies","href":"/articles/integrate-customer/understanding-cookies"},{"title":"Region of Storage","href":"/articles/integrate-customer/region-of-storage"},{"title":"PGP Encryption in Sources","sidebarTitle":"PGP Encryption","href":"/articles/integrate-customer/pgp-encryption-in-sources"},{"title":"Source Access Rules","href":"/articles/integrate-customer/source-access-rules"},{"title":"Archived Source","href":"/articles/integrate-customer/archived-source"}]},{"group":"Destinations","icon":"paper-plane","root":{"title":"Destinations","sidebarTitle":"Destinations","href":"/articles/integrate-customer/destinations"},"pages":[{"title":"Create a Destination","sidebarTitle":"Create a Destination","href":"/articles/integrate-customer/create-a-destination"},{"title":"Payload Preview for Destination Mappings","href":"/articles/integrate-customer/payload-preview-for-destination-mappings"},{"title":"Activate Your Batch Audiences","href":"/articles/integrate-customer/link-an-audience-to-the-destination"},{"title":"Activate your real-time audiences","sidebarTitle":"Activate real-time","href":"/articles/integrate-customer/activate-your-real-time-audiences"},{"title":"PGP encryption for file-based destinations","sidebarTitle":"PGP encryption","href":"/articles/integrate-customer/pgp-encryption-in-destinations"},{"title":"Destination Access Rules","href":"/articles/integrate-customer/destination-access-rules"},{"group":"Batch Integrations","root":{"title":"Batch Integrations","href":"/articles/integrate-customer/destination-batch-integrations"},"pages":[{"title":"Acxiom","sidebarTitle":"Acxiom","href":"/articles/integrate-customer/acxiom"},{"title":"Active Agent - Virtual Minds","href":"/articles/integrate-customer/active-agent-virtual-minds"},{"title":"Adform","href":"/articles/integrate-customer/adform"},{"title":"Adform DMP","href":"/articles/integrate-customer/adform-dmp"},{"title":"Adobe Analytics (New)","href":"/articles/integrate-customer/adobe-analytics"},{"title":"Adobe Campaign (Audiences)","href":"/articles/integrate-customer/adobe-campaign"},{"group":"Adobe Target","root":{"title":"Adobe Target","href":"/articles/integrate-customer/adobe-target"},"pages":[{"title":"Adobe Target (Bulk Update)","href":"/articles/integrate-customer/adobe-target-bulk-update"}]},{"title":"Airship Static Lists","href":"/articles/integrate-customer/airship"},{"title":"Amazon DSP","sidebarTitle":"Amazon DSP","href":"/articles/integrate-customer/amazon-dsp"},{"title":"Amazon DSP - DP Audience","sidebarTitle":"Amazon DSP - DP","href":"/articles/integrate-customer/amazon-dsp-dp-audience"},{"title":"Amazon S3","sidebarTitle":"Amazon S3 (Destination)","href":"/articles/integrate-customer/amazon-s3-destination"},{"title":"Amazon Marketing Cloud (AMC)","href":"/articles/integrate-customer/amazon-marketing-cloud"},{"title":"Appademic S3","href":"/articles/integrate-customer/appademic-s3"},{"title":"AppNexus","href":"/articles/integrate-customer/appnexus"},{"title":"Azure Blob Storage","sidebarTitle":"Azure Blob Storage","href":"/articles/integrate-customer/azure-blob-storage"},{"title":"Batch","description":null,"href":"/articles/integrate-customer/batch"},{"title":"Batch CEP","href":"/articles/integrate-customer/batch-audience-management"},{"title":"Bird - Customer Lists","description":"Push audiences built in Zeotap CDP to customer lists in your Bird workspace: create the Bird access key, find your workspace ID, then configure and map the Bird - Customer Lists destination.","sidebarTitle":"Bird - Customer Lists","href":"/articles/integrate-customer/bird-customer-lists"},{"title":"Bloomreach","href":"/articles/integrate-customer/bloomreach"},{"title":"Braze","href":"/articles/integrate-customer/braze-1"},{"title":"Channable GCS Upload","sidebarTitle":"Channable GCS Upload","href":"/articles/integrate-customer/channable-gcs-upload"},{"group":"Cleverpush","root":{"title":"Cleverpush","sidebarTitle":"Cleverpush","href":"/articles/integrate-customer/cleverpush-destination"},"pages":[{"title":"Appendix for Cleverpush","sidebarTitle":"Appendix for Cleverpush","href":"/articles/integrate-customer/appendix-cleverpush-destination"}]},{"title":"Criteo","sidebarTitle":"Criteo","href":"/articles/integrate-customer/criteo"},{"title":"Criteo Retail Media","href":"/articles/integrate-customer/criteo-retail-media"},{"title":"Decentriq","href":"/articles/integrate-customer/decentriq"},{"title":"Dotdigital (New)","href":"/articles/integrate-customer/dotdigital-1"},{"title":"Dynamic Yield","href":"/articles/integrate-customer/dynamic-yield"},{"title":"Dynamic Yield : CSV upload","href":"/articles/integrate-customer/dynamic-yield-csv-upload"},{"title":"ELAINE","href":"/articles/integrate-customer/artegic-elaine"},{"title":"Emarsys","href":"/articles/integrate-customer/emarsys"},{"title":"Facebook","href":"/articles/integrate-customer/facebook"},{"title":"Facebook 1P (Meta)","sidebarTitle":"Facebook 1P (Meta)","href":"/articles/integrate-customer/facebook-1p"},{"title":"Facebook Enhanced Conversions API (Send Offline data)","href":"/articles/integrate-customer/facebook-enhanced-conversions-api-capi"},{"title":"Facebook Product Catalog","sidebarTitle":"Facebook Product Catalog","href":"/articles/integrate-customer/facebook-product-catalog"},{"title":"Google Ad Manager","href":"/articles/integrate-customer/google-ad-manager"},{"title":"Google Analytics 4","sidebarTitle":"Google Analytics 4","href":"/articles/integrate-customer/google-analytics-4"},{"title":"Google Analytics Hub","href":"/articles/integrate-customer/google-analytics-hub"},{"title":"Google BigQuery","href":"/articles/integrate-customer/google-bigquery-destination"},{"title":"Google Cloud Storage destination","sidebarTitle":"Google Cloud Storage","href":"/articles/integrate-customer/google-cloud-storage"},{"group":"Google Customer Match (Customer Contact Information)","root":{"title":"Google Customer Match (Customer Contact Information)","href":"/articles/integrate-customer/google-customer-match-customer-contact-information"},"pages":[{"title":"FAQs related to Google Consent Update","href":"/articles/integrate-customer/faqs-related-to-google-consent-update"}]},{"title":"Google Customer Match (Mobile Device IDs)","sidebarTitle":"GCM (MAIDs)","href":"/articles/integrate-customer/google-customer-match-mobile-device-ids"},{"title":"Google DDP","href":"/articles/integrate-customer/google-ddp"},{"title":"Google DMP","href":"/articles/integrate-customer/google-dmp"},{"title":"Hello Charles","href":"/articles/integrate-customer/hello-charles"},{"title":"HubSpot","href":"/articles/integrate-customer/hubspot"},{"title":"InfoSum Audience","sidebarTitle":"InfoSum Audience","href":"/articles/integrate-customer/infosum-audience"},{"title":"Insider","sidebarTitle":"Insider","href":"/articles/integrate-customer/insider"},{"title":"Inxmail Audience","href":"/articles/integrate-customer/inxmail-audience"},{"title":"Iterable: Campaign Trigger Audience","href":"/articles/integrate-customer/iterable-campaign-trigger-audience"},{"title":"LaunchDarkly","href":"/articles/integrate-customer/launchdarkly"},{"title":"LinkedIn destination","sidebarTitle":"LinkedIn","href":"/articles/integrate-customer/linkedin"},{"title":"Looker","sidebarTitle":"Looker Studio","href":"/articles/integrate-customer/looker"},{"title":"Meta Custom Audience","sidebarTitle":"Meta Custom Audience","href":"/articles/integrate-customer/meta-custom-audience"},{"title":"Microsoft Ads Customer Match","sidebarTitle":"Microsoft Ads Customer Match","href":"/articles/integrate-customer/microsoft-ads-customer-match"},{"title":"Microsoft Fabric [Audience]","sidebarTitle":"Microsoft Fabric","href":"/articles/integrate-customer/microsoft-fabric-audience"},{"title":"MoEngage Audience","sidebarTitle":"MoEngage Audience","href":"/articles/integrate-customer/moengage-audience"},{"title":"Moloco","sidebarTitle":"Moloco","href":"/articles/integrate-customer/moloco"},{"title":"Nielsen","href":"/articles/integrate-customer/nielsen"},{"title":"Neodata","sidebarTitle":"Neodata","href":"/articles/integrate-customer/neodata"},{"title":"Oath (Yahoo)","href":"/articles/integrate-customer/yahoo"},{"title":"Ongage","sidebarTitle":"Ongage","href":"/articles/integrate-customer/ongage"},{"title":"Optimizely","href":"/articles/integrate-customer/optimizely-connect-integration"},{"title":"Permutive","href":"/articles/integrate-customer/permutive"},{"title":"Personyze","sidebarTitle":"Personyze","href":"/articles/integrate-customer/personyze"},{"title":"Pinterest Customer Lists destination","sidebarTitle":"Pinterest","href":"/articles/integrate-customer/pinterest"},{"title":"PromoteIQ","sidebarTitle":"PromoteIQ","href":"/articles/integrate-customer/promote-iq"},{"title":"PubMatic","sidebarTitle":"PubMatic","href":"/articles/integrate-customer/pubmatic"},{"title":"Quantcast","href":"/articles/integrate-customer/quantcast"},{"title":"Reddit","href":"/articles/integrate-customer/reddit"},{"title":"Reddit Offline CAPI","href":"/articles/integrate-customer/reddit-offline-capi"},{"title":"Responsys","href":"/articles/integrate-customer/responsys"},{"title":"Rokt","href":"/articles/integrate-customer/rokt"},{"title":"RTB House","href":"/articles/integrate-customer/rtb-house"},{"title":"Salesforce CRM (Sales and Service Cloud)","href":"/articles/integrate-customer/salesforce-crm-sales-and-service-cloud"},{"title":"Salesforce Marketing Cloud - Data Extension","href":"/articles/integrate-customer/salesforce-marketing-cloud-data-extension"},{"title":"SFMC Personalization (Audiences)","href":"/articles/integrate-customer/sfmc-personalization-audiences"},{"title":"SFTP Audience Integration","sidebarTitle":"SFTP","href":"/articles/integrate-customer/sftp-audience-integration"},{"group":"Sendinblue (Brevo)","root":{"title":"Sendinblue (Brevo)","sidebarTitle":"Sendinblue (Brevo)","href":"/articles/integrate-customer/brevo-sendinblue"},"pages":[{"title":"Appendix for Sendinblue","sidebarTitle":"Appendix for Sendinblue","href":"/articles/integrate-customer/appendix-for-sendinblue"}]},{"title":"Smadex","href":"/articles/integrate-customer/smadex"},{"title":"Snapchat","href":"/articles/integrate-customer/snapchat"},{"title":"Snapchat OAuth 2.0","href":"/articles/integrate-customer/snapchat-oauth-2-0"},{"title":"Snowflake","href":"/articles/integrate-customer/snowflake-destination"},{"title":"Sportradar","sidebarTitle":"Sportradar","href":"/articles/integrate-customer/sportradar"},{"title":"StackAdapt DSP","href":"/articles/integrate-customer/stackadapt-dsp"},{"title":"Tableau AWS S3","sidebarTitle":"Tableau AWS S3","href":"/articles/integrate-customer/tableau-aws-s3"},{"group":"Taboola","root":{"title":"Taboola","href":"/articles/integrate-customer/taboola"},"pages":[{"title":"Appendix","href":"/articles/integrate-customer/appendix-taboola-destination"}]},{"title":"Taboola Custom Audience","href":"/articles/integrate-customer/taboola-custom-audience"},{"title":"Talon.One Audience","href":"/articles/integrate-customer/talon-one-audience"},{"title":"TikTok","href":"/articles/integrate-customer/tiktok"},{"title":"The Trade Desk (TTD)","sidebarTitle":"TTD","href":"/articles/integrate-customer/ttd"},{"title":"TTD CRM Data","href":"/articles/integrate-customer/ttd-euid"},{"title":"TTD 1P","sidebarTitle":"TTD 1P","href":"/articles/integrate-customer/ttd-1p"},{"title":"TTD Data Monetisation","href":"/articles/integrate-customer/ttd-data-monetisation"},{"title":"Twitter","href":"/articles/integrate-customer/twitter"},{"title":"Yieldlab SSP","href":"/articles/integrate-customer/yieldlab-ssp"},{"title":"Zeotap Pvt Channel","href":"/articles/integrate-customer/zeotap-pvt-channel"},{"title":"Databricks","sidebarTitle":"Databricks","href":"/articles/integrate-customer/databricks_destination"},{"title":"PubMatic Publisher","sidebarTitle":"PubMatic Publisher","href":"/articles/integrate-customer/pubmatic-publisher"}]},{"group":"Real-time Integrations","root":{"title":"Real-Time Integrations","sidebarTitle":"Real-Time Integrations","href":"/articles/integrate-customer/real-time-integrations"},"pages":[{"title":"Apache Kafka","href":"/articles/integrate-customer/apache-kafka-destination"},{"title":"Adobe Campaign Real Time Integration","href":"/articles/integrate-customer/adobe-campaign-real-time-integration"},{"title":"Adobe Target (Delivery API)","href":"/articles/integrate-customer/adobe-target-delivery-api"},{"title":"Adobe Target (Single Update)","href":"/articles/integrate-customer/adobe-target-single-update"},{"title":"Airship Real Time Integration","href":"/articles/integrate-customer/airship-real-time-destination-integration"},{"title":"Amazon Conversions API","href":"/articles/integrate-customer/amazon-conversions-api"},{"title":"AppsFlyer Real Time Integration","href":"/articles/integrate-customer/appsflyer-real-time-integration"},{"title":"Batch Real Time Destination Integration","href":"/articles/integrate-customer/batch-real-time-destination-integration"},{"title":"Braze Integration","href":"/articles/integrate-customer/braze-integration"},{"title":"Braze - Object Sync (Journey Action)","href":"/articles/integrate-customer/braze-journey-action"},{"title":"Brevo","sidebarTitle":"Brevo","href":"/articles/integrate-customer/brevo"},{"title":"Bird Trigger Events","sidebarTitle":"Bird Trigger Events","href":"/articles/integrate-customer/bird-trigger-events"},{"title":"Channable real-time integration","sidebarTitle":"Channable","href":"/articles/integrate-customer/channable-real-time-integration"},{"title":"Cleverpush Real-Time Integration","sidebarTitle":"Cleverpush Real-Time Integration","href":"/articles/integrate-customer/cleverpush-real-time-integration"},{"title":"Appendix: Cleverpush channel and platform setup","sidebarTitle":"Appendix: channel and platforms","href":"/articles/integrate-customer/appendix-cleverpush-real-time-integration"},{"title":"Criteo Offline Sales Reporting","sidebarTitle":"Criteo Offline Sales Reporting","href":"/articles/integrate-customer/criteo-offline-sales-reporting"},{"title":"Dynamic Yield Events","href":"/articles/integrate-customer/dynamic-yield-events"},{"title":"Dynamic Yield (RealTime)","href":"/articles/integrate-customer/dynamic-yield-realtime"},{"title":"Elaine Real Time Integration","href":"/articles/integrate-customer/elaine-real-time-integration"},{"title":"Eloqua","href":"/articles/integrate-customer/eloqua"},{"title":"Emarsys Real Time Integration","href":"/articles/integrate-customer/emarsys-real-time-integration"},{"title":"Facebook Conversions API","href":"/articles/integrate-customer/facebook-conversions-api"},{"title":"Send Events Using the API","href":"/articles/integrate-customer/send-events-using-the-api"},{"title":"Google Enhanced Conversions API (CAPI)","href":"/articles/integrate-customer/google-enhanced-conversions-api-capi"},{"title":"Google Pub/Sub","href":"/articles/integrate-customer/google-pub-sub"},{"title":"Google Universal Analytics Integration","href":"/articles/integrate-customer/google-universal-analytics-integration"},{"title":"Inxmail","href":"/articles/integrate-customer/inxmail"},{"title":"Iterable: Campaign Trigger real-time integration","sidebarTitle":"Iterable: Campaign Trigger","href":"/articles/integrate-customer/iterable-campaign-trigger"},{"title":"LaunchDarkly Real Time Integration","href":"/articles/integrate-customer/launchdarkly-real-time-integration"},{"title":"Microsoft CAPI","href":"/articles/integrate-customer/microsoft-capi"},{"title":"MoEngage","sidebarTitle":"MoEngage","href":"/articles/integrate-customer/moengage"},{"title":"Optimizely (Real Time)","href":"/articles/integrate-customer/optimizely"},{"title":"Optimizely Campaigns (Real Time)","href":"/articles/integrate-customer/optimizely-campaigns"},{"title":"Personyze real-time integration","sidebarTitle":"Personyze real-time","href":"/articles/integrate-customer/personyze-real-time-integration"},{"title":"Pinterest CAPI","href":"/articles/integrate-customer/pinterest-capi"},{"title":"Reddit CAPI","href":"/articles/integrate-customer/reddit-capi"},{"title":"Responsys Real time Integration","href":"/articles/integrate-customer/responsys-real-time-integration"},{"title":"RTB House Conversions API (CAPI)","href":"/articles/integrate-customer/rtb-house-capi"},{"title":"Salesforce CRM Real Time Integration","href":"/articles/integrate-customer/salesforce-crm-real-time-integration"},{"title":"SendGrid","href":"/articles/integrate-customer/sendgrid"},{"title":"SFMC Journey Builder","href":"/articles/integrate-customer/sfmc-journey-builder"},{"title":"Appendix for SFMC Journey Builder","href":"/articles/integrate-customer/appendix-for-sfmc-journey-builder"},{"title":"SFMC Personalization (Journeys)","href":"/articles/integrate-customer/sfmc-personalization-journeys"},{"title":"Talon.One Trigger Custom Events","sidebarTitle":"Talon.One Trigger Custom Events","href":"/articles/integrate-customer/talon-one"},{"title":"TikTok Events","href":"/articles/integrate-customer/tiktok-events"},{"title":"WhatsApp","href":"/articles/integrate-customer/whatsapp"},{"title":"Zeotap Webhook","href":"/articles/integrate-customer/zeotap-webhook"}]}]}]},{"group":"Unify","icon":"layer-group","root":{"title":"Unify","href":"/articles/unify-customer/unify"},"expanded":false,"pages":[{"group":"Catalogue","icon":"book-open","root":{"title":"Catalogue","href":"/articles/unify-customer/catalogue"},"expanded":true,"pages":[{"group":"Components of the Catalogue Screen","root":{"title":"Components of the Catalogue Screen","href":"/articles/unify-customer/components-of-the-catalogue-screen"},"pages":[{"title":"Understand the Basic Fields","href":"/articles/unify-customer/understand-the-basic-fields"},{"title":"Understand the Advance Fields","href":"/articles/unify-customer/understand-the-advance-fields"}]},{"title":"When to use a Catalogue Field","href":"/articles/unify-customer/when-to-use-a-catalogue-field"},{"group":"Standard Fields in Catalogue","root":{"title":"Standard Fields in Catalogue","href":"/articles/unify-customer/standard-fields-in-catalogue"},"pages":[{"title":"Zeotap Standard Fields","href":"/articles/unify-customer/zeotap-standard-fields"},{"title":"Reserved Catalogue Fields","href":"/articles/unify-customer/reserved-catalogue-fields"}]},{"title":"Data Types in Catalogue","href":"/articles/unify-customer/data-types-in-catalogue"},{"group":"Add a Catalogue Field","root":{"title":"Add a Catalogue Field","href":"/articles/unify-customer/add-a-catalogue-field"},"pages":[{"group":"Categories for adding Catalogue fields","root":{"title":"Categories for adding Catalogue fields","href":"/articles/unify-customer/categories-in-catalogue"},"pages":[{"title":"Add a Consent Category","href":"/articles/unify-customer/adding-a-consent-category"},{"title":"Add a Campaign Category","href":"/articles/unify-customer/adding-a-campaign-category"},{"title":"Add a Product Category","href":"/articles/unify-customer/adding-a-product-category"},{"title":"Add a Marketing Preference Category","href":"/articles/unify-customer/adding-a-marketing-preference-category"},{"title":"Add an Event Category","href":"/articles/unify-customer/adding-an-event-category"},{"title":"Add an ID Metadata Category","href":"/articles/unify-customer/adding-an-id-metadata-category"},{"title":"Add an ID Consent Category","href":"/articles/unify-customer/adding-an-id-consent-category"},{"title":"Add an ID Category","href":"/articles/unify-customer/adding-an-id-category"},{"title":"Add a User Trait Category","href":"/articles/unify-customer/adding-a-user-trait-category"},{"title":"Add a Non-Customer Entity Category","href":"/articles/unify-customer/adding-a-non-customer-entity-category"}]}]},{"title":"Edit a Catalogue Field","href":"/articles/unify-customer/edit-a-catalogue-field"},{"group":"Map the Catalogue","root":{"title":"Map the Catalogue","href":"/articles/unify-customer/map-the-catalogue"},"pages":[{"group":"Supported Data Entities","root":{"title":"Supported Data Entities","href":"/articles/unify-customer/supported-data-entities"},"pages":[{"group":"Customer Data","root":{"title":"Customer Data","href":"/articles/unify-customer/customer-data"},"pages":[{"title":"Map the Catalogue for Customer Data","href":"/articles/unify-customer/map-the-catalogue-for-customer-data"}]},{"group":"Non Customer Entity Data","root":{"title":"Non-Customer Entity Data","href":"/articles/unify-customer/non-customer-entity-data"},"pages":[{"title":"How to use NCE","href":"/articles/unify-customer/how-to-use-nce"},{"title":"Why do we need NCE?","href":"/articles/unify-customer/why-do-we-need-nce"},{"title":"Understand One-to-Many Relationship in NCE","href":"/articles/unify-customer/understand-one-to-many-relationship-in-nce"},{"title":"Join Key Enricher","href":"/articles/unify-customer/join-key-enricher"},{"title":"Using Composite Key in NCE","href":"/articles/unify-customer/using-composite-key-in-nce"},{"title":"Map the Catalogue for Non-Customer Entity Data","href":"/articles/unify-customer/map-the-catalogue-for-non-customer-entity-data"}]},{"title":"Auto Mapping","href":"/articles/unify-customer/auto-mapping"}]}]},{"title":"Editing a Catalogue Mapping","href":"/articles/unify-customer/editing-a-mapping"},{"title":"Ingestion Filter Criteria","href":"/articles/unify-customer/ingestion-filter"},{"title":"Override the Source Data Type","href":"/articles/unify-customer/override-the-source-data-type"},{"group":"Enrichers","root":{"title":"Enrichers","href":"/articles/unify-customer/enrichers"},"pages":[{"title":"Predefined Data Transformers","href":"/articles/unify-customer/enrichers-for-data-transformation-2816770049"},{"group":"Custom Transformers","root":{"title":"Enrichers for Custom Transformations","href":"/articles/unify-customer/enrichers-for-custom-transformations"},"pages":[{"group":"Use Cases for Custom Transformers","root":{"title":"Use Cases for Custom Transformers","href":"/articles/unify-customer/use-cases-for-custom-transformers"},"pages":[{"title":"Scenario 1: Transformation of Consent Using a Custom Transformer","href":"/articles/unify-customer/scenario-1-transformation-of-consent-using-a-custom-transformer"},{"title":"Scenario 2: Transformation of Currency Data Using a Custom Transformer","href":"/articles/unify-customer/scenario-2-transformation-of-currency-data-using-custom-transformer"},{"title":"Scenario 3: Extraction of Object Data Using a Custom Transformer","href":"/articles/unify-customer/scenario-3-extraction-of-object-data-using-custom-transformer"},{"title":"Scenario 4: Transformation of Array Using a Custom Transformer","href":"/articles/unify-customer/scenario-4-transformation-of-array-using-custom-transformer"},{"title":"Scenario 5: Transformation of Cellphone Number into E164 Format Using a Custom Transformer","href":"/articles/unify-customer/scenario-5-transformation-of-cellphone-number-into-e164-format-using-custom-transformer"}]}]},{"group":"Configure the Enrichers","root":{"title":"Configuring the Enrichers","href":"/articles/unify-customer/configuring-the-enrichers"},"pages":[{"title":"Configure the Country Enricher","href":"/articles/unify-customer/configuring-the-country-enricher"},{"title":"Configure the Timestamp Enricher","href":"/articles/unify-customer/configuring-the-timestamp-enricher"},{"title":"Configure the Value Mapper Enricher","href":"/articles/unify-customer/configuring-the-value-mapper-enricher"},{"title":"Configure the Hardcode Enricher","href":"/articles/unify-customer/configuring-the-hardcode-enricher"},{"title":"Configure the Derived Field Enricher","href":"/articles/unify-customer/configuring-the-derived-field-enricher"},{"title":"Configure the Custom Transformation Enricher","href":"/articles/unify-customer/configuring-the-custom-transformation-enricher"},{"title":"Configure the Join Key Enricher","href":"/articles/unify-customer/configuring-the-join-key-enricher"}]}]},{"title":"Hashing Guidelines","href":"/articles/unify-customer/hashing-guidelines"},{"title":"Data Onboarding Guide for Partners","href":"/articles/unify-customer/data-onboarding-guide-for-partners"},{"title":"Time-to-Live","href":"/articles/unify-customer/time-to-live"},{"title":"Group Name","href":"/articles/unify-customer/group-name"},{"title":"Taxonomy","href":"/articles/unify-customer/taxonomy-and-catalogue"},{"title":"FAQs about Catalogue","href":"/articles/unify-customer/faqs-about-catalogue"},{"title":"FAQs about Mapping and Ingestion","href":"/articles/unify-customer/faqs-about-mapping-and-ingestion"}]},{"group":"Calculated Attributes","icon":"calculator","root":{"title":"Calculated Attributes","href":"/articles/unify-customer/calculated-attributes"},"expanded":true,"pages":[{"title":"How Calculated Attributes Work","href":"/articles/unify-customer/how-calculated-attributes-work"},{"title":"Batch vs. Real-Time Calculated Attributes","href":"/articles/unify-customer/batch-vs-real-time-calculated-attributes"},{"title":"Components of the Calculated Attributes Screen","href":"/articles/unify-customer/components-of-the-calculated-attributes-screen"},{"title":"Create a Batch Calculated Attribute","href":"/articles/unify-customer/add-a-calculated-attribute"},{"title":"Create a Real-Time Calculated Attribute","href":"/articles/unify-customer/create-a-real-time-calculated-attribute"},{"title":"Segment Membership Calculated Attribute","sidebarTitle":"Segment Membership","href":"/articles/unify-customer/system-defined-calculated-attributes"},{"title":"Calculated Attributes: Use Cases","href":"/articles/unify-customer/calculated-attributes-use-cases"},{"title":"Calculated Attributes: Guardrails \u0026 Limits","href":"/articles/unify-customer/calculated-attributes-guardrails-and-limits"},{"title":"FAQs about Calculated Attributes","href":"/articles/unify-customer/faqs-about-calculated-attributes"}]},{"group":"ID Strategy","icon":"fingerprint","root":{"title":"Identity Resolution","href":"/articles/unify-customer/identity-resolution"},"expanded":true,"pages":[{"group":"Types of ID Strategies","root":{"title":"Types of ID Strategies","href":"/articles/unify-customer/id-strategies"},"pages":[{"title":"Default ID Strategy","href":"/articles/unify-customer/default-id-strategy"},{"group":"High-fidelity or Custom ID Strategy","root":{"title":"High-fidelity or Custom ID Strategy","href":"/articles/unify-customer/high-fidelity-or-custom-id-strategy"},"pages":[{"title":"How does Custom Strategy Work","href":"/articles/unify-customer/how-does-the-strategy-work"},{"title":"ID Prioritisation","href":"/articles/unify-customer/id-prioritisation"},{"title":"How to Stitch Unknown to Known Profile using the Custom Strategy","href":"/articles/unify-customer/how-to-stitch-unknown-to-known-profile-using-the-custom-strategy"}]}]},{"title":"ID Strategy Use Cases","href":"/articles/unify-customer/id-strategy-use-cases"},{"title":"Configure the ID Strategy","href":"/articles/unify-customer/configure-the-id-strategy"},{"title":"Edit an ID Strategy","href":"/articles/unify-customer/edit-an-id-strategy"},{"title":"FAQs about Identity Strategy","href":"/articles/unify-customer/faqs-about-identity-resolution"}]}]},{"group":"Segment","icon":"users","root":{"title":"Audiences","href":"/articles/segment-customer/audience"},"expanded":false,"pages":[{"group":"Build Your Audience","icon":"filter","root":{"title":"Build Your Audience","href":"/articles/segment-customer/build-your-audience"},"pages":[{"group":"Create an Audience","root":{"title":"Create an Audience","href":"/articles/segment-customer/create-an-audience"},"pages":[{"title":"Create Audience using Ada (AI-Based Audience Builder)","href":"/articles/segment-customer/create-audience-using-ada-ai-based-audience-builder"},{"title":"Using the 'Delete customers in this Audience from the system' checkbox","href":"/articles/segment-customer/using-the-delete-customers-in-this-audience-from-the-system-checkbox"},{"title":"Batch Audience Vs Real Time Audience","href":"/articles/segment-customer/batch-audience-vs-real-time-audience"},{"title":"Real Time Audience Vs Journeys","href":"/articles/segment-customer/real-time-audience-vs-journeys"},{"title":"FAQs for Real-Time Audience Creation","href":"/articles/segment-customer/faqs-for-real-time-audience-creation"}]},{"title":"Apply Attributes to Your Audience","href":"/articles/segment-customer/apply-attributes-to-your-audience"},{"title":"How do Conditional Blocks Work","href":"/articles/segment-customer/how-do-conditional-blocks-work"},{"title":"Operators Used in Audience Segmentation","href":"/articles/segment-customer/work-with-operators"},{"title":"NOT Logic vs. Does Not Exist","href":"/articles/segment-customer/not-logic-vs-does-not-exist"}]},{"group":"Activate Your Audience","icon":"rocket","root":{"title":"Activate Your Audience","href":"/articles/segment-customer/activate-your-audience"},"pages":[{"group":"Link to Destination","root":{"title":"Link to Destination","href":"/articles/segment-customer/link-the-destination"},"pages":[{"title":"Create a New Destination","href":"/articles/segment-customer/create-a-new-destination"},{"title":"Audience Scheduling","href":"/articles/segment-customer/audience-scheduling"},{"title":"Delta Upload and Delete Functions","href":"/articles/segment-customer/delta-upload-and-delete-functions"},{"title":"Key Factors Influencing the Data Upload to Destinations","href":"/articles/segment-customer/factors-influencing-the-data-upload-time-to-destinations"},{"title":"Object, List of Objects and NCE Support in Destination Upload","href":"/articles/segment-customer/object-list-of-objects-and-nce-support-in-destination-upload"},{"title":"Enrichers in Destination Mapping","href":"/articles/segment-customer/enrichers-in-destination-mapping"}]},{"title":"Explore A/B Testing","href":"/articles/segment-customer/ab-testing"},{"title":"Choose the Output Identifiers","href":"/articles/segment-customer/choose-the-output-identifiers"},{"title":"Extend Your Audience","href":"/articles/segment-customer/extend-your-audience"},{"title":"Audience Boost","href":"/articles/segment-customer/audience-boost"},{"title":"Enable Membership (Beta)","href":"/articles/segment-customer/enable-membership"}]},{"group":"Explore Audience Listing Page Options","root":{"title":"Explore Audience Listing Page Options","href":"/articles/segment-customer/audience-listing-page-options"},"pages":[{"title":"Work With Folders","href":"/articles/segment-customer/work-with-folders"}]},{"title":"Audience Lifecycle","href":"/articles/segment-customer/audience-lifecycle"},{"title":"Audience Insights","href":"/articles/segment-customer/audience-insights"},{"title":"Audience Status and Activation Status","href":"/articles/segment-customer/audience-status-and-activation-status"},{"title":"Audience Templates","href":"/articles/segment-customer/audience-templates"},{"title":"Audience Alerts","href":"/articles/segment-customer/audience-alerts"},{"title":"Predictive Model - RFM Model","href":"/articles/segment-customer/predictive-model"}]},{"group":"Orchestrate","icon":"code-branch","root":{"title":"Orchestrate","href":"/articles/orchestrate-customer/orchestrate"},"expanded":false,"pages":[{"group":"Explore Journeys Listing Page Options","root":{"title":"Explore Journeys Listing Page Options","href":"/articles/orchestrate-customer/components-of-the-listing-screen"},"expanded":true,"pages":[{"title":"Work With Folders","href":"/articles/orchestrate-customer/journey-folders"}]},{"group":"Create a Workflow","root":{"title":"Create a Workflow","href":"/articles/orchestrate-customer/create-a-workflow"},"expanded":true,"pages":[{"title":"Add an Entry Condition","href":"/articles/orchestrate-customer/add-an-entry-condition"},{"title":"Add a Delay","href":"/articles/orchestrate-customer/add-a-delay"},{"title":"Add a Condition","href":"/articles/orchestrate-customer/add-a-condition"},{"title":"Wait for Condition","href":"/articles/orchestrate-customer/wait-for-condition"},{"title":"Apply Multi-branch Split","href":"/articles/orchestrate-customer/apply-multi-branch-split"},{"title":"Apply True/False Split","href":"/articles/orchestrate-customer/apply-true-false-split"},{"title":"Save as Draft","href":"/articles/orchestrate-customer/save-as-draft"},{"title":"Add or Delete a Node","href":"/articles/orchestrate-customer/add-or-delete-a-node"},{"title":"Name a Node","href":"/articles/orchestrate-customer/name-a-node"},{"title":"Add Re-entry Criteria","href":"/articles/orchestrate-customer/add-re-entry-criteria"},{"title":"Add Concurrent Entry","href":"/articles/orchestrate-customer/add-concurrent-entry"},{"title":"Understand Metrics","href":"/articles/orchestrate-customer/understand-metrics"}]},{"group":"Resolve Journey Errors","root":{"title":"Resolve Journey Errors","href":"/articles/orchestrate-customer/journey-execution-error-resolution"},"expanded":true,"pages":[{"title":"Identify Journey Errors","href":"/articles/orchestrate-customer/identify-journey-errors"},{"title":"Journey Error Codes","href":"/articles/orchestrate-customer/journey-error-codes"},{"title":"Troubleshooting Workflows","href":"/articles/orchestrate-customer/journey-troubleshooting"}]},{"title":"Journey Traces","href":"/articles/orchestrate-customer/journey-traces"},{"title":"Journey Templates","href":"/articles/orchestrate-customer/journey-templates"},{"title":"Gateway","href":"/articles/orchestrate-customer/gateway"},{"title":"Frequently Asked Questions","href":"/articles/orchestrate-customer/frequently-asked-questions"}]},{"group":"Collaborate","icon":"handshake","root":{"title":"Collaborate","sidebarTitle":"Overview","href":"/articles/collaborate-customer/collaborate"},"expanded":false,"pages":[{"title":"Quick Start: Your First Partnership","href":"/articles/collaborate-customer/quick-start"},{"title":"Contributor Guide","href":"/articles/collaborate-customer/contributor-guide"},{"title":"Subscriber Guide","href":"/articles/collaborate-customer/subscriber-guide"},{"title":"Key Concepts","href":"/articles/collaborate-customer/key-concepts"},{"title":"Frequently Asked Questions","href":"/articles/collaborate-customer/frequently-asked-questions"}]},{"group":"Dashboard","icon":"chart-bar","root":{"title":"Overview","href":"/articles/dashboard-customer/overview"},"expanded":false,"pages":[]},{"group":"Protect","icon":"shield-halved","root":{"title":"Protect","href":"/articles/protect-customer/protect"},"expanded":false,"pages":[{"group":"Consent","icon":"handshake","root":{"title":"Consent","href":"/articles/protect-customer/consent"},"expanded":true,"pages":[{"title":"Granular Consent","href":"/articles/protect-customer/processing-and-storing-granular-consent-2830598176"},{"title":"Marketing Preferences","href":"/articles/protect-customer/processing-and-storing-customer-marketing-preferences-2830630950"},{"title":"Consent Orchestration","href":"/articles/protect-customer/consent-orchestration-2830401643"}]},{"group":"Customer 360","icon":"circle-user","root":{"title":"Customer 360","href":"/articles/protect-customer/customer-360"},"expanded":true,"pages":[{"title":"Lookup a User Profile","href":"/articles/protect-customer/working-with-customer-360"},{"title":"Delete a Profile","href":"/articles/protect-customer/delete-a-profile"},{"title":"Frequently Asked Questions","href":"/articles/protect-customer/frequently-asked-questions"}]},{"group":"Data Lifecycle","icon":"arrows-rotate","root":{"title":"Data Lifecycle","href":"/articles/protect-customer/data-lifecycle"},"expanded":true,"pages":[{"title":"Working with different Data Lifecycle Screens","href":"/articles/protect-customer/working-with-different-data-lifecycle-screens"},{"title":"Create a Deletion Rule for Customer Data","href":"/articles/protect-customer/create-a-deletion-rule-for-customer-data"},{"title":"FAQs for Data Lifecycle","href":"/articles/protect-customer/faqs-for-data-lifecycle"},{"title":"Create a Deletion Rule for Non-Customer Entity Data","href":"/articles/protect-customer/create-a-deletion-rule-for-nce-data"}]}]},{"group":"Admin","icon":"gear","root":{"title":"Admin","href":"/articles/admin-customer/admin"},"expanded":false,"pages":[{"title":"My Organisation","href":"/articles/admin-customer/creating-an-organisation"},{"title":"My Roles","href":"/articles/admin-customer/my-roles"},{"title":"Access Rules","href":"/articles/admin-customer/access-rules"},{"group":"My Users","root":{"title":"My Users","href":"/articles/admin-customer/add-an-user"},"expanded":true,"pages":[{"title":"User Roles and Access","href":"/articles/admin-customer/user-roles-and-access"},{"title":"Roles and their descriptions","href":"/articles/admin-customer/role-descriptions"}]},{"group":"Request Access","root":{"title":"Request Access","href":"/articles/admin-customer/request-access"},"expanded":true,"pages":[{"title":"Process to follow for Org/User creation or access","href":"/articles/admin-customer/process-to-follow-for-org-user-creation-or-access-1"}]},{"group":"Audit Logs","root":{"title":"Audit Logs","href":"/articles/admin-customer/audit-logs"},"expanded":true,"pages":[{"title":"Events Tracked in Zeotap CDP","href":"/articles/admin-customer/events-tracked-in-zeotap-cdp"}]},{"title":"Alerts \u0026 Notifications","href":"/articles/admin-customer/alerts-and-notifications"},{"title":"Logging In \u0026 Two-Factor Authentication","href":"/articles/admin-customer/your-first-login-to-the-zeotap-cdp-platform"}]},{"group":"Labs","icon":"flask-vial","root":{"title":"Labs","href":"/articles/labs-customer/labs"},"expanded":false,"pages":[{"group":"AI Playground","icon":"sparkles","root":{"title":"AI Playground","href":"/articles/labs-customer/ai-playground"},"expanded":false,"pages":[{"title":"Audience Recommender","href":"/articles/labs-customer/audience-recommender"}]},{"title":"Zeotap MCP","href":"/articles/labs-customer/zeotap-mcp"},{"title":"Observability Hub","href":"/articles/labs-customer/observability-hub"}]}]},{"tab":"SDKs","icon":"code","pages":[{"title":"SDKs","href":"/articles/sdks/overview"}]},{"tab":"Status","icon":"signal","href":"https://status.zeotap.com/"},{"tab":"Profile API","icon":"square-terminal","pages":[{"title":"Profile API","href":"/profile-api/profileapi"}]},{"tab":"Get Started","icon":"rocket","hidden":true,"pages":[{"title":"Get Started","href":"/articles/get-started-guide/getting-started"}]},{"tab":"What's New?","icon":"calendar-days","pages":[{"title":"What's New?","href":"/articles/product-release-notes/2026/q1-2026"}]},{"tab":"Composable CDP","href":"https://composable-docs.zeotap.com/"},{"tab":"ID+","icon":"fingerprint","hidden":true,"pages":[{"title":"ID+","href":"/articles/id-publication/basic-integration-guide_v2"}]},{"tab":"Support","icon":"headset","hidden":true,"pages":[{"title":"Support","href":"/articles/support/clear-your-cache-and-cookies"}]}]},"basePath":"","title":"Batch CEP - Zeotap docs","buildId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","deploymentId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","dynamics":["10e4515597","07c022d89b","a74be98ba7","a9bb46feb3"],"chunks":["BannerMarkdown-CX_qQQOL.js","dist-BTZUMDnx.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","clsx-xpJZXxdP.js","html-void-elements-mCSPHezU.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","Frame-DXXFP6nH.js","DynamicMarkdown-B54_zNBF.js","zoom-image-lightbox-BG6oD64b.js","lightbox-handle-r17bVUz3.js","Markdown-DfhCTwyA.js","AssistantPageLink-DqdKa2R4.js"]}