Skip to main content
Skip table of contents

Channel Manager

“The world of marketing moves at the speed of light.” - Every marketer ever.

Owing to the constantly changing landscapes during the COVID-19 pandemic, the marketing sphere has witnessed slumps in the virtual engagement and online traffic they were recently starting to rely on. While a multi-channel approach came to the rescue of marketers at almost every experience level, it also brought along struggles tough to ignore.

Tailoring the content for the audience in hand while at the same time, maintaining consistency in the overarching message and its quality across all the channels is one heck of a task! Often more than not, there isn’t a job specifically designed for this multichannel management, and this is exactly what Zeta is here to change. The ZMP Channel Manager enables marketers to incorporate additional channels, services, and/or vendors into their marketing ecosystem.

Adding Channels

From the Settings tab, select Channel Manager.


We retry sending requests 3 times for any kind of errors that occur during communication with the server. For instance, a message_skipped event will be generated in the platform under such scenarios.

You can use webhook for adding channels in case of real-time use cases to trigger responses individually.

1. Hover over Build your own channel and click on + Add. The form and payload creation interface will load for you to fill in the data.

2. As another option, many starting points for the channels are already set up on the Channel Manager launch page. Hover over the desired option, and click on + Add.

3. You can alter the added Form fields by clicking on the specific field’s action menu and selecting Edit. These fields are ones that will need certain values that are unique between campaigns.

Form fields can be optional in nature. When optional, the user on the campaigns side can choose to skip providing value for those form fields.

4. Each form field has a corresponding object code that can be added to the API payload on the right. To retrieve this code, select Copy code from the field’s action menu and paste the code in the right location within the API payload.

5. Additional fields can be added by simply dragging and dropping the desired field from the bottom into the appropriate row in the form.

  • The Webhook and API payload should be configured and written against the third party’s API documentation.

  • The API payload can also contain Zeta Markup Language objects and tags as well as static values that do not exist in the form.

Supported request methods are limited to Post and Put requests. Supported authentication methods are limited to Basic and Header based methods.

Batch Webhook

We retry sending requests 3 times for any kind of errors that occur during communication with the server.

You can use batch webhook in case of near-real-time use cases to trigger responses in micro-batches. Batch webhook can be used in both Experiences and Broadcast campaigns.

In the webhook interface, toggle on the switch for Send batch requests. This will split the API Payload into two structures: JSON List and JSON Object.

  • The “[ListObjects]” in the upper box represents an array of elements in which each element has a form that is authored in the bottom box. In the upper box, only system objects are supported which are: current_date, current_timestamp,,, campaign.campaign_token, campaign.campaign_type,, campaign.recurrence_index, campaign.touch_type

  • The JSON structure in the upper box is what will be sent to the URL. In the lower box, in addition to system objects, you can reference the form fields that you author on the left-hand side.

In Experience Builder, the batch sending frequency can be overwritten by the author.

Batch webhook only works when the server supports batch input requests as well. ZMP throws an error at runtime if the server does not support batch.

File Export

Back in the Channel Manager interface, hover over Build your own channel and click on + Add. Click on File Export.

  • The File Name can either be a static name or have a liquid tag.

  • If a static name is chosen then the file will be overwritten every time the campaign is activated.

  • The liquid tags supported in File Name are current_date, current_timestamp,,, campaign.campaign_token, campaign.campaign_type,, campaign.recurrence_index, campaign.touch_type

  • The File Extension can be any of .csv, .txt, and .jsonl

  • The File Destination needs to be file-based destinations (as configured through Self-Serve Connections) such as SFTP, FTP, FTPS, FTPES, Amazon S3 buckets, and Google buckets.

  • Select a File Type to choose the punctuations (commas, pipes, or tabs) for delimiting multiple values in a row.

  • You can switch on the toggles for Text Qualifiers with Quotes and Compress File depending on your requirement.

  • The file channel will also be available in Experience Builder. Clicking on Edit against “In Experiences, files will be batch processed every 500,000 records or 6 hours” will allow you to determine when you want to create a file. This setting is also overridable by the Experiences author when they are using the File Channel in Experience Builder.

  • Whichever criterion (records or time) satisfies first, will be chosen during the file transfer. First, a file containing the records will be created and then it will be sent to the destination.

  • In the Properties field, add in the Name for the column headers and the Values for each row under those columns.

    • The order of columns in the file from left to right will match the order of properties from top to bottom on this screen

    • The row in a file corresponding to a user can be viewed in the campaign event >  file_output_data key. The column name will be lowercase and spaces converted to underscore.

We recommend you to not use liquid script or form field in the Name field of Properties to ensure that a column's name is unique

6. Right after a channel is set up, it will be made available as a channel selection during broadcast campaign setup and in the experience builder.

When creating a channel and getting a warning or error message “Name already exists”; it means that the channel name was utilized previously and subsequently removed or archived from the account. Try using a different distinct name.

Using Channels

1. From the menu on the left, navigate to Campaigns > Broadcast. Click on New Campaign.

2. Give a Name to your campaign and click on Next.

3. Under the Content & Audience tab, select your created channel from the Channel dropdown or click on Add a new channel to add a channel through Webhook or File Export, as detailed above.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.