Skip to main content
Skip table of contents

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. 

2025-07-08_11-34-00 (1)-20250708-060459.gif
2025-07-08_11-36-42 (1)-20250708-060710.gif
cropped (online-video-cutter.com) (1)-20250708-062131.gif

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.

(warning) View online link does not work for test campaigns. This link will only work on live/actual campaigns sent to the intended audience.


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:

  1. Insert Liquid Variables:
    In your message editor, use double curly brackets to insert variables:

    • Example:

      RUST
      Hi {{user.first_name}},
      We noticed you recently purchased {{user.last_purchase}} in {{user.location}}. Here are some recommendations just for you!
      
  2. 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 %}
  3. Fallback Values:
    Always define a fallback to avoid blank personalization:

    CPP
    Hi {{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.

  1. In the Proofing Panel, select Test Push Recipient Preview.

  2. Choose or enter the recipient profile you want to simulate.

  3. The system retrieves the recipient’s stored attributes (e.g., name, location, preferences) and renders the message accordingly.

  4. 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,

  1. Navigate to Audience > Segments > Create New Segment.

  2. Choose External Database Connection as the data source.

  3. Write or paste your SQL-like query — for example:

    SQL
    SELECT * FROM customers WHERE last_purchase_date >= CURRENT_DATE - INTERVAL '30 days'
    
  4. 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


JavaScript errors detected

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

If this problem persists, please contact our support.