Using static zone code is the recommended way to implement Broadstreet ad zones inside email newsletters. This involves copying and editing code directly into the HTML editor of your newsletter templates. It is often easier to hand this off to a developer. Make sure you have your zones created in Broadstreet and ready to connect to your newsletters. See the documentation here on how to create zones in Broadstreet.
Email newsletters are not webpages. Most email clients and email service providers (ESPs) strip or block JavaScript, and they often cache images aggressively. Because of this, Broadstreet zones cannot be embedded using JavaScript tags inside emails. Instead, newsletters should use Broadstreet’s email-safe static zone endpoints with a properly configured seed parameter.
The steps below walk you through: obtaining the static zone code from Broadstreet, placing zones in newsletter templates (including placing the same zone multiple times), how seed-based selection works, adding keywords, and troubleshooting.
- Getting Static Zone Code
- Canonical Embed Example
- Placing a Single Zone Multiple Times
- Seed-Based Ad Selection in Email
- ESP Merge Tags for Seed Values
- Adding Keywords to Static Code
- Troubleshooting
Getting Static Zone Code
Before adding an ad to your newsletter, obtain the static zone code from Broadstreet:
- In Broadstreet, navigate to Zones and click the zone you want to use.
- In the top-right corner of the zone page, click Get Zone Code.
- In the modal that appears, select the Static tab.
- Use the Type of placement dropdown to select your email service provider (Mailchimp, ActiveCampaign, Sailthru, etc.).
- This will generate code that includes commonly used merge tags/macros for that provider.
- (Optional) If you plan to place the same zone multiple times in a single newsletter, adjust the position value (see below).
- Copy the generated HTML.
Canonical Embed Example
This is the recommended email-safe pattern: an <a> link wrapping an <img> tag using Broadstreet’s static zone endpoints.
<!-- Newsletter Leaderboard (12345) -->
<a href="https://ad.broadstreetads.com/zone_static/12345/click/0?seed=SEED" target="_blank">
<img src="https://ad.broadstreetads.com/zone_static/12345/image/0?seed=SEED" style="max-width: 100%;" />
</a>
<!-- / Newsletter Leaderboard (12345) -->
Notes:
12345is an example zone ID — replace this with your own zone ID.- SEED is where the a token for both randomness and cachebusting must be placed. Continue reading for more information and a table of SEEDs for possible email service providers.
- The zone name (Newsletter Leaderboard) is for clarity only and does not affect functionality.
Placing a Single Zone Multiple Times
If you created individual zones for every ad placement in your newsletter, you do not need the modifications suggested in this section. If you are using a single zone multiple times in your newsletter, review the following adjustment.
When a single zone is placed multiple times in a newsletter template, the last number in the URLs of the zone code should be incremented for each placement. Think of this as numbering each placement so Broadstreet knows which position is which.
For example, zone code typically looks like this (position 0):
<a href="https://ad.broadstreetads.com/zone_static/12345/click/0?seed=SEED">
<img src="https://ad.broadstreetads.com/zone_static/12345/image/0?seed=SEED" style="max-width: 100%;" />
</a>
If you use the same zone a second time, change both URLs to position 1:
<a href="https://ad.broadstreetads.com/zone_static/12345/click/1?seed=SEED">
<img src="https://ad.broadstreetads.com/zone_static/12345/image/1?seed=SEED" style="max-width: 100%;" />
</a>
The third placement would use 2, and so on.
Note: It is absolutely critical that the positions match in both the <a> tag and <img> tags.
Seed-Based Ad Selection in Email
The seed query parameter is the most important part of newsletter embedding.
It does two critical jobs:
- Ad selection randomness: it creates deterministic randomness so Broadstreet can decide which ad should be shown for a given recipient/message.
- Cache busting: email clients and ESPs (notably Gmail and Outlook) cache images aggressively. Without randomness in the URL, you can see stale ads from previous sends.
The seed must match exactly between the link and the image. The exact same seed string must be used in:
<a href="…/click/…?seed=SEED"><img src="…/image/…?seed=SEED">
If these values don’t match (even by a single character, extra space, or different token order), you can get click mismatch behavior: the recipient sees one ad but clicking takes them to another advertiser’s destination. Broadstreet relies on the seed to know exactly which ad the recipient saw.
Best practice: use a seed that is unique per recipient and per message/send. Commonly this is a concatenation of a subscriber/user identifier and a message/campaign identifier. Other acceptable ingredients (depending on your ESP) include a timestamp token or a one-way email hash plus a message ID.
ESP Merge Tags for Seed Values
Use two tokens when possible: one user-specific + one message- or send-specific. Below are commonly used macros that work well as seed values.
| ESP | Recommended seed macros |
|---|---|
| Adestra | $AMF_UNIQUE$ |
| ActiveCampaign | %SUBSCRIBERID%%MESSAGEID% |
| Emma | [[__member_id__]][[__mailing_id__]] |
| HubSpot | {{contact.firstname}}{{contact.hs_object_id}} |
| Mailchimp | *|CAMPAIGN_UID|*-*|UNIQID|* |
| MailPoet | [subscriber:email][date:d][date:m][date:y][newsletter:number] |
| Oracle Eloqua | <span class=eloquaemail>EmailAddress</span><span class=CampaignId>CampaignId</span> |
| Pardot | {{Recipient.ID}}{{Current_Day}}{{Current_Month}}{{Current_Year}} |
| Rasa | __PERSONID_____DATE__ |
| Sailthru | {{emailnum}}{{time()}} |
| SendGrid | -customer_id--date--time-- |
| Zoho | $[EMAIL]$_$[UD:ADBUTLER_UNIQUE|AB_UQ|AB_UQ]$ |
| Omeda | @{hashed_email_address}@-@{mv_date_MMddyyyy}@ |
| Letterhead | {{ letterheadID }}-{{ publicationDate }} |
Note: these macros must be supported by the ESP that is actually sending the email. Always verify replacement by sending a test email and inspecting the final URLs.
Omeda note: This must be configured in your Omeda account. Please speak to your account manager at Omeda.
Adding Keywords to Static Code
If you have a campaign that is meant to display with certain keywords, you can include a zone in a newsletter by adding keywords to the zone’s static code. You can add keywords using the kw (keywords) or skw (soft keywords) parameters.
Add the parameters to the end of both the click and image URLs. Example:
<a href="https://ad.broadstreetads.com/zone_static/12345/click/0?seed=SEED&kw=these,are,keywords&skw=true">
<img src="https://ad.broadstreetads.com/zone_static/12345/image/0?seed=SEED&kw=these,are,keywords&skw=true" style="max-width: 100%;" />
</a>
For more information on keywords, see the documentation here.
Troubleshooting
Clicking an ad goes to the wrong advertiser
This is the most common newsletter integration issue and is almost always caused by a problem with the seed parameter. Check the following, in order:
1) Confirm the seed matches exactly between image and link
The seed value must be identical in both places:
<a href="…/click/…?seed=SEED"><img src="…/image/…?seed=SEED">
Even a single character difference (extra space, different token order, missing macro) can cause a mismatch where the reader sees Ad A but clicking takes them to Ad B’s destination.
2) Verify ESP macros are actually being replaced
Send a test email, then inspect the rendered HTML (or copy the image and link URLs directly from the email). Confirm that the seed is fully resolved and does not still contain raw tokens like %SUBSCRIBERID%, {{User.Id}}, or *|UNIQID|*.
If tokens are not replaced, you may be using the wrong macros, the ESP may not support the token in the email context, or the token may not be available in certain test-send modes.
3) Check for ESP link or image wrapping
Some ESPs (including services like Site Impact) automatically wrap links and images with their own tracking or proxy URLs. This can break Broadstreet tracking because the wrapped URL may be cached or the original seed value may no longer be visible to Broadstreet.
If available, disable link tracking, image proxying, or click rewriting for newsletter ads.
4) Use macros from the sending ESP
Always use merge tags from the ESP that is actually sending the email. For example, if you design in Mailchimp but send via Site Impact, you must use Site Impact’s macros (not Mailchimp’s). Only the final sending ESP has access to the real subscriber/user ID and the real message/campaign ID.
5) Check for unscheduled campaign changes in the zone
In rarer cases, click mismatches can happen even when the seed is correct. This usually occurs when a newsletter is sent, team members open it, and then active campaigns in the zone are changed manually after the send (for example, turning a new campaign on immediately instead of scheduling it).
Because newsletter ads are served from a live zone, changing which campaigns are active can change the image that loads and the click destination. This can cause an older email to suddenly point at a new advertiser.
Best practice: always schedule future campaigns to start later. Avoid manually activating campaigns “right now” in zones used by newsletters.
The ad image looks stale (shows yesterday’s ad)
Confirm you have a seed parameter and that it includes per-message or per-send data. Avoid seeds that are only user-based and never change.
If issues persist
If issues persist after these checks:
- Capture the exact HTML code used in the email newsletter template (as pasted into the ESP).
- Forward an example of the problem email to frontdesk@broadstreetads.com so we can inspect the rendered code.
Seeing the final, sent version of the email (not just the template) allows us to verify seed replacement, link wrapping, and campaign state quickly.