Skip to main content
Skip table of contents

Campaign Delivery Optimization

Here are some points for you to remember whenever you come across any of the following issues:

Ad Delivery Issues

No Delivery on an Entire Exchange

Is your campaign using Traffic Quality Targeting or IP Regex Targeting? Often, an entire exchange is blocked by setting a blocklist to exclude domains like Check Inventory Targeting to ensure the entire exchange is not blocked.

Impression and Click Trackers

When using impressions and click trackers, ensure they are implemented properly for the ad type. Place click trackers in the click-through URL field for ads. Impression trackers are placed differently depending on the ad type:

  • For Video Ads, place a bare URL and a secure (https) version of the impression tracker in the view-through pixel and impression event fields respectively.

  • For Image and Display Ads, place impression trackers in the extra HTML fields.

Do not place bare impression tracking URLs into extra HTML fields.

Macros and Third-Party Tracking

Macros are tokens that the DSP uses to transfer information. Macros are vital for certain features, such as counting clicks properly or cache-busting ad impressions. The following fields require macros to be manually added:

  • Extra HTML (Image Ads and HTML Ads)*

  • Beacon URL (Third-Party Pixels)*

  • Event tracking (Video Ads) (Ensure this is 255 characters or less)

  • Piggyback URL (Pixels)

  • View-through Pixel URL (Native Ads)

  • XML URL (VAST Video and Audio Ads)

Do not use bare URLs in these fields. Wrap tracking URLs in an image or script source.


For HTML ads, add macros in the HTML Tag field. The DSP parses this field into the macro. This is the only field that may auto-populate our macros.

Adding a click macro in the HTML field is mandatory to activate the ad.

If a click macro is not automatically inserted into your HTML Ad, please consult with your ad vendor for instructions on how to manually implement a click macro.

Below are some common macros to be used in third-party creative or creative tracking pixels.






A dynamically-generated number based on the date and time that the ad was loaded. You can rely on this number being different every time the ad is displayed and thus use this macro as a "cache buster" to prevent a web browser from re-using an ad the user has already seen and cached or saved.

Click Redirect for Script Element of Ad HTML


Use in the <script> element of an ad where the ad will use it to prefix, or prepend, it's click-through URL. This will enable DSP to count clicks.

Click Redirect for Noscript Element of Ad HTML


Use in the <noscript> element of an ad where the ad will use it to prefix, or prepend, it's click-through URL. This will enable DSP to count clicks.

Click Redirect for iFrame Element of Ad HTML


Use in the <iFrame> element of an ad where the ad will use it to prefix, or prepend, it's click-through URL. This will enable DSP to count clicks.

Check out HTML Ad Macros for a full list of supported macros.

Pixel Fire Issues

Delivery Not Increasing

  • If pixels are showing a significant amount of fires, but overall delivery is not increasing, review the Pixels grid on The Campaign Builder (or the Analyze Pixels report).

  • If the Messaged Fires column is zero, but the Activity column shows delivery, then the DSP has not sent any ads to this new inventory. Please check the audience settings to ensure delivery is allowed to this new pixel.

We suggest looking for at least 1,000 alien fires a day as a starting rule of thumb for minimal delivery.

Please keep in mind that delivery against retargeting-only settings is also affected by other factors like CPM, flight time/budget, and other targeting restrictions.

Suggestions on Pixel Status Prior to Campaign Launch

  • Place all pixels at least two weeks before the campaign launch.

  • Aim for at least 1000 pixel fires before the campaign launch. For (non-Video completion) CPA/conversion goal campaigns, aim for at least 200 conversion fires.

Model Calibration for Conversion Campaigns

When running a conversion-focused campaign, we generally recommend that there be at least 1000 tracking or landing pixels fires and at least 200 conversion pixels fires before launching. This best practice helps ensure the model driving the campaign is receiving enough data to optimize at its best.

To improve campaign performance, consider moving the conversion pixel to a more popular action or up the funnel to increase model learning.

Examples of moving a conversion pixel up the funnel include:

  • Completing web form to Accessing web form

  • Completing purchase to the Shopping cart

  • Completing all 7 steps to Completing 5/7 steps

Check out Marketing that Learns to know more about how pixel data affects model learning.

Retargeting Issues

If explicitly retargeting, make sure pixels are firing and daily total pixel fire amounts are satisfactory on the Analyze Pixels report. We recommend over 1000 pixel fires per day. We suggest looking for at least 1,000 alien fires a day for minimal delivery.

Retargeting delivery is affected by other factors like CPM, flight time/budget, and other targeting restrictions.

Viewability Issues

Your campaign can use pre-bid Traffic Quality Targeting to track viewability or set up Viewability goals on your campaign. Viewability is a complex subject that can have detrimental effects on your campaign. Review our Viewability documentation in full.

Budget Issues

Campaigns may go over budget. Zeta puts a lot of effort into minimizing any possible over-spend on campaigns. That being said, a well-performing campaign to go slightly over budget. This is most likely when there is a spike in good inventory near the end of the budget. In this situation, the DSP may win several more bids than expected between data syncs, resulting in a slight over-spend.

Troubleshooting Low Delivery

Check Line Iitem and Tactic Status

  • Make sure that all of the line items and tactics that need to be spent are enabled.

  • Review the assigned budgets to make sure everything is set up as expected.

Check out Campaign Builder.

Maximize Your Inventory

  • Manual Targeting Check: Remove any and all targeting constraints, including Frequency Caps.

  • Use the Forecaster tool to see how targeting limits inventory.

  • Try using Delivery Channel Targeting instead of Device targeting.

  • Exchanges: Allow all Exchanges on Inventory Targeting (Open and Private Exchanges).

  • Review Ad Audit Status for any rejected or blacklisted ads. Resolve rejections and manually remove ads from the domain they are blacklisted on.

  • For Audience Targeting: Audience INCLUSION Time Frame windows, set to 'ANYTIME'. For Exclusions, set to '14 Days'. All pixels from the Advertiser-level should be targeted for INCLUSIONS unless specific pixels are needed to be targeted only. For inclusions, use INCLUDES ANY conditions instead of INCLUDES ALL.

Creative Issues

  • For Video campaigns, request 15-second assets for the largest reach.

  • Image Ads & HTML5 Ads: Run static or animated image creative (jpeg, jpg, gif, png) and HTML5-compatible third-party Ad Server creative.

  • Video and HTML5 Ads: Make sure that each tag has only one creative behind it; rotating creatives can interrupt the bidding process.

  • Make sure all third-party tags are secure (https) and that all pixel calls from the tags are secure as well.

  • Try more ad sizes: Make sure you are running at least the standard ad sizes for the devices and channels you are running on.

  • Any rejected or blacklisted ads? Resolve rejections and manually remove ads from the domain they are blacklisted on.

  • Re-QA all creatives to make sure there are no broken links

  • Does the creative message relate to the goal? Work internally or with a creative agency to revise creative messaging.

See Ads for details.


Confirm all pixels are placed on the correct pages, see Pixel Management Guide.

  • Implement JavaScript pixels if you're currently utilizing Image pixels.

  • Conditional Firing: Are unmessaged pixel fires > messaged pixel fires? If not, check pixel settings in your Ad Server to ensure they are not set to conditionally fire.

  • Does your CPA goal campaign have more than 1000 pixel fires/month, including at least 200 conversion pixel fires/month? Also, have there been at least 200 attributed conversions (aka messaged fires) in total? If not, we strongly recommend not using a CPA or conversion goal until this level of activity is met.

  • If pixels are placed in a container, did you input the correct cache buster when generating the pixel?

  • Have you placed pixels on enough pages on the advertiser's site? Review the site and the conversion funnel to identify more pages to place pixels on. Remember: placing pixels on pages you don't think are relevant to the conversion CAN still help improve performance, enabling the model to learn more about who and who not to target.

Use the below to calculate realistic and more aggressive CPAs based on daily spend and daily total (messaged & unmessaged) conversion fires:

  • Average daily spend/(Average total daily conversion pixel fires * 0.05)= Conservative CPA estimate

  • Average daily spend/(Average total daily conversion pixel fires * 0.1)= Aggressive CPA estimate

Increase Budget Flexibility

  • If there are multiple line items, can we pause the worst performing?

  • If any line item has multiple tactics, can we pause all worst-performing tactics?

  • Tactic Budgets: Make sure your tactic budgets add up to the overall line-item budget.

  • Consolidate line items and/or tactics if you are running more than one line-item or more than one tactic under any line item.

  • For dCPMs set at the line-item level, set the min and max dCPM values within suitable ranges to ensure campaign delivery and performance. Please note that in some cases, especially for line items or tactics targeting small audience cookie pools, max dCPM values maybe need to be set higher to ensure campaign reach.

    • Prospecting Line-items: between $0.50 - $7.50

    • Retargeting Line-items: between $1.50 - $15

JavaScript errors detected

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

If this problem persists, please contact our support.