Campaign Proofing

Campaign proofing allows users to send the campaign to internal users before activating the campaign for the external or intended audience. It aids in the content review flow and allows campaign developers to make sure that the rendering of campaigns when received on an email client or mobile device is what it’s supposed to be.
Setting up Campaign Proof
Campaign proofs can be set up through the paper plane icon beside the Activate button in the campaign builder. Upon clicking the icon, a panel with three sections will show up: Campaign Versions, Recipient Contact, and Available List/ Properties.
Test messages/campaign proofs, whether they be done via Preview > Preview Options > Send Test Email or via the Paper Airplane icon, do not consider subscription status when mailing. They are purely for testing purposes and therefore are not bound by being unsubscribed.
-20250708-060459.gif?inst-v=e4d44aae-a8fb-4d0a-939e-eca79351f736)
-20250708-060710.gif?inst-v=e4d44aae-a8fb-4d0a-939e-eca79351f736)
%20(1)-20250708-062131.gif?inst-v=e4d44aae-a8fb-4d0a-939e-eca79351f736)
Selecting Channel and Versions
The first section allows you to select which channel you want to test and which versions you want to include. Upon selecting the channel, the versions for selection would be limited to those having the channel selected.
Currently, the campaign proofing tool supports Email, SMS/MMS, and Mobile channels, allowing you to preview how your content will render across different devices and platforms before sending it to your intended audience.
For the Email channel, there is an additional option to add a prefix on the subject line Test -. The email with the A/B/n setup would also appear on the selection, similar to the versions.
If you have enabled the Minify HTML toggle for a version of your Email campaign, then its proofs will be sent with minified HTML.
Adding Recipient Contact
The second section allows you to add the contact information of test recipients. For email campaigns, you can add email addresses; for SMS/MMS, you can add mobile numbers (up to 100 recipients). You can either type them manually or upload a CSV file.
The CSV file must only have one column with a header email if the selected channel is email or mobile for the SMS/MMS channel.
When you upload a file, ZMP can pull up to 100,000 users from that file.
The system validates the contact information — only valid U.S. numbers are accepted.
Selecting Available Audience and Dynamic Properties
For time-based campaigns (Immediate, Scheduled, Recurring), you can select either a customer list or segment as a sample audience in the proof campaign.
For file-based and query-based campaigns, you can enter any user ID from the file or segment; the user properties of these members will populate the dynamic portions of the content.
You can manually input values, import all from the uploaded file, or test with an Empty Value (to simulate missing data).
Empty Value is a reserved value for properties. When you add an Empty Value, it would be treated as an empty value and not as a string when rendering the content. This is helpful when you want to check how the content would render to a recipient without the specific property or has an empty value for such a property.
Number of Test Campaigns
The number of test campaigns depends on the combination of dynamic property values.
For example, if First Name has 3 values, Last Name has 4, and Address has 2, the total will be 3 × 4 × 2 = 24 test campaigns, each sent to all added recipients.
![]() |
Personalization with Liquid Scripts and Dynamic User Data
Campaigns can be made more relevant and engaging using Liquid scripts and dynamic user attributes such as {{user.first_name}}, {{user.location}}, or {{user.last_purchase}}. These dynamic placeholders automatically populate with real data at send time, creating personalized content at scale. Here are the steps to creating personalized messages:
Insert Liquid Variables:
In your message editor, use double curly brackets to insert variables:Example:
RUSTHi {{user.first_name}}, We noticed you recently purchased {{user.last_purchase}} in {{user.location}}. Here are some recommendations just for you!
Conditional Personalization:
Add conditions for tailored messaging:CODE{% if user.tier == "Gold" %} Thank you for being a valued Gold member! {% else %} Upgrade today to unlock exclusive benefits. {% endif %}Fallback Values:
Always define a fallback to avoid blank personalization:CPPHi {{user.first_name | default: "there"}}
Test Push Recipient Preview
This feature allows you to specify a test push recipient and preview the message exactly as they would receive it. It helps validate personalization, formatting, and targeting accuracy prior to campaign launch.
In the Proofing Panel, select Test Push Recipient Preview.
Choose or enter the recipient profile you want to simulate.
The system retrieves the recipient’s stored attributes (e.g., name, location, preferences) and renders the message accordingly.
Review the preview message or send it directly to the test recipient for validation.
Query-Based Segmentation with External Database Connection
Query-based segmentation enables marketers to dynamically build audience segments based on live data from external databases such as CRM or analytics systems. This ensures targeting precision and real-time personalization. To create a query-based segment,
Navigate to Audience > Segments > Create New Segment.
Choose External Database Connection as the data source.
Write or paste your SQL-like query — for example:
SQLSELECT * FROM customers WHERE last_purchase_date >= CURRENT_DATE - INTERVAL '30 days'Save and label your segment for future campaigns.
Running a Test Send
Select the query-based segment during campaign proof setup.
The system will retrieve sample users and use their properties for content rendering.
Perform a test send to validate:
Data accuracy (correct audience fetched)
Message personalization and formatting
Delivery success to intended channels
