How to get a Google VAST Tag (and start monetizing) + alternatives that pay you by providing a VAST tag to paste into your video player

In this guide you’ll find practical steps to set up Google Ad Manager and generate a VAST/VMAP ad tag (the typical “VAST code” you paste into a player), plus an overview of alternative platforms that monetize in revenue share by giving you a ready-to-use VAST tag.

Security
A VAST tag isn’t a “password” like a stream key, but it can still expose inventory details (e.g., network/ad unit, macros, parameters). Avoid posting it in public tickets or sharing it with unauthorized parties.

1) Requirements

  • Website/App/CTV with video content and a property you can manage/verify (domain or app).
  • Player compatible with VAST/VMAP (or IMA integration): e.g., Video.js + IMA plugin, Shaka Player + IMA, JW Player/JWP, Bitmovin, THEOplayer, etc.
  • Privacy & consent: in the EU you typically need a CMP (TCF) to manage GDPR and pass consent strings where required.
  • Enough traffic/engagement: for premium programmatic (Ad Exchange/SSPs), partners often require minimum volume (varies by partner).
Core concepts (quick)
  • VAST: an XML response containing one (or more) video ad creatives and tracking. IAB standard. Source: IAB.
  • VMAP: a “playlist” describing multiple ad breaks (pre/mid/post-roll) using VAST + timing. Source: Google Ad Manager Help.
  • CSAI (Client-Side Ad Insertion): the player fetches/renders the ad (typical VAST + IMA).
  • SSAI/DAI (Server-Side / Dynamic Ad Insertion): ads are inserted server-side (more complex, common in OTT/CTV).

References: IAB VAST Guidelines • Google VMAP VMAP for video ad insertion

2) Key concepts: VAST vs VMAP, CSAI vs SSAI

2.1 VAST vs VMAP

  • Only a pre-roll (one break before content)? A VAST tag is often enough.
  • Multiple breaks (pre + mid + post-roll, pods, etc.)? Consider VMAP (or “ad rules”) to describe the full schedule. VMAP includes VAST + timing.

2.2 CSAI (classic) vs SSAI/DAI (“TV-like”)

  • CSAI: easiest to implement (paste an adTagUrl into the player). Downsides: ad blockers have more impact; client-side latency/measurement complexity.
  • SSAI/DAI: smoother experience and often more robust on CTV/OTT; but requires a more complex stack and frequently commercial agreements.
Note
If your goal is “start fast”, begin with CSAI (VAST) and move to SSAI/DAI once you have volume and clear technical needs.

3) First: what “getting a Google VAST tag” really means (and what you actually need)

With Google, “having a VAST tag” usually means one of these:

  1. Test VAST tags (to verify player integration): Google publishes IMA sample tags you can use for testing without real monetization.
  2. A Google Ad Manager (GAM) VAST tag for your own inventory: you generate it in GAM, but you only earn revenue if you also have demand (direct campaigns, programmatic, Ad Exchange, or a partner).
Bottom line
The tag alone doesn’t “pay”: if there’s no demand behind it (line items / programmatic / partner), the response may be empty (“no fill”).
Quick integration test (no monetization)

To validate your player integration, use Google’s IMA sample tags: ready-made URLs that return VAST so you can confirm requests and XML responses, remembering to disable ad blockers. Source: Google IMA sample tags.

4) Create and configure Google Ad Manager (GAM)

  1. Go to Google Ad Manager and create a network with your publisher details (company/site/app).
  2. Set up Inventory:
    • Create a video Ad Unit (set up depends on your workflow: “video” inventory is commonly represented with 1x1 video or player dimensions).
    • Define placements: pre-roll, mid-roll (cue points), post-roll if needed.
  3. Configure baseline policies (brand safety, blocked categories, etc.) and privacy (GDPR/consent).
Tip
Plan your privacy parameters early (e.g., gdpr, gdpr_consent, us_privacy, etc.). Google documents a broad list of supported VAST tag parameters. Source: Google Ad Manager Help.

5) Demand (to monetize): direct, Ad Exchange, MCM partner

To monetize with a Google tag (or any VAST tag), you need at least one source of demand:

  • Direct campaigns: you (or a sales house) sell ads and traffic them in GAM as line items.
  • Google programmatic: commonly via Google Ad Exchange (AdX) — not always immediately available to smaller publishers.
  • MCM partner: many publishers access AdX demand via a partner operating under Google MCM (parent-child). MCM is commonly used for smaller publishers.
When does an MCM partner make sense?
  • If you don’t have direct AdX access or don’t have an in-house AdOps team.
  • If you want “ready demand” + optimization (sometimes Open Bidding / multi-SSP) in revenue share.
  • Trade-offs: fees/revenue share + minimums/contracts + technical constraints.

MCM overview: Freestar — Guide to Google MCM • Access to AdX via partners (discussion): Google Ad Manager Community

6) Generate a VAST/VMAP tag in Google Ad Manager

Once your inventory exists, you can generate an ad tag URL (VAST or VMAP) to use in your player/IMA. Tags typically include parameters like iu (ad unit), output (format), correlator (cachebuster), plus privacy parameters when needed. Source: Google VAST tag parameters.

Example (template) GAM VAST tag

Note: the real URL depends on your network/ad unit. Below is a pattern with placeholders. Keep HTTPS and use a different correlator per request (cachebuster). Google references correlator/output in tag usage.

https://pubads.g.doubleclick.net/gampad/ads?
iu=/1234567/YOUR_VIDEO_AD_UNIT
&description_url=https%3A%2F%2Fwww.yoursite.com%2Fpage
&env=vp
&gdfp_req=1
&sz=640x360
&output=xml_vast3
&unviewed_position_start=1
&correlator=[CACHEBUSTER]
&gdpr=[0|1]
&gdpr_consent=[TCF_STRING]
VAST or VMAP?
If you want multiple breaks (ad rules/pods), you may request a VMAP playlist (VAST + timing). Source: VMAP in GAM.

7) Insert the VAST tag in the player (Video.js/IMA, Shaka/IMA, JW Player, etc.)

7.1 Typical approach (IMA)

The most common method is using a player with Google IMA SDK and passing an adTagUrl (VAST). Google explains using IMA requests with VAST URLs and parameters. Source: IMA SDK getting started.

7.2 JW Player / JWP

JW Player supports advertising configuration and scheduling with VAST ad tags and provides an “ad tester” workflow to validate tags. Source: JW Player docs.

Watch out for whitespace & encoding
Parameters must be properly URL-encoded (e.g., description_url) and free of invisible leading/trailing spaces. Encoding/macros issues are a common cause of “no fill” or VAST errors.

8) Testing & debugging: inspect VAST responses, ad blockers, “no fill”

  1. Disable ad blockers during testing (they often block ad server calls).
  2. Open the tag in a browser (or a testing tool) to confirm it returns XML (VAST/VMAP) rather than HTML.
  3. For IMA tags, Google provides sample tags and indicates using a variable correlator and output for format selection (e.g., VAST 4). Source: IMA sample tags.
  4. Use an inspector to validate parsing/tracking: Google provides a “Video Suite Inspector” where you can paste tags or VAST and test playback. Source: IMA HTML5 VSI.
“No fill” checklist
  • Do you actually have active demand behind that ad unit? (line items, programmatic, partner)
  • Does the tag point to the correct ad unit?
  • Are parameters and macros populated correctly?
  • Are you sending a correlator/cachebuster?
  • Are you passing privacy/consent where required (GDPR)?

9) Other platforms that pay you by giving you a VAST tag (alternatives to Google)

If you want a “paste a VAST tag and monetize” approach without building a full AdOps stack immediately, consider monetization partners or SSPs that provide VAST tags and demand in revenue share.

Platform Type What you get Practical notes
Teads Monetization partner / demand VAST tag (typically provided by your rep) Requires onboarding: “once you receive the VAST tag from the representative” you integrate macros/placeholders. Source: Teads Support.
Primis Video monetization / player ecosystem Integrations (including VAST tag options) Documentation mentions integration paths including VAST tag usage. Source: Primis docs.
Playwire Full-stack monetization Player + VAST/VPAID support + monetization Positions itself as a publisher platform with VAST/VPAID support and managed monetization. Source: Playwire.
EX.CO Video platform + ad server/demand VAST tag integration to EX.CO ad server Official doc: VAST integration via HTTP GET with parameters (pubid/tagid/env) to maximize revenue. Source: EX.CO Support.
OpenX Ad Exchange / SSP VAST/VPAID tags (BrandTags) + exchange demand OpenX mentions JavaScript, VAST, and VPAID tags designed to be easy to integrate. Source: OpenX.
Microsoft Monetize (Xandr) SSP / ad platform Placement tags (including video) exportable Docs cover exporting placement tags and domain/whitelabel considerations. Source: Microsoft Learn.
Magnite / SpringServe SSP + video ad serving VAST ad tag (“secure tag”) per ad unit/channel Magnite glossary: “Secure tag” = VAST Ad Tag for an ad unit/channel. Source: Magnite Help.
How to choose (practically)
If you want the fastest path, consider a managed monetization partner (Teads/Playwire/EX.CO/Primis) that brings demand + support. If you have in-house AdOps and want more control and multi-demand auctions, consider SSPs/Exchanges (OpenX, Magnite, Microsoft Monetize) or a stack via GAM + partners.

10) Troubleshooting

Ads don’t show (but content plays)

  • Confirm the adTagUrl returns valid XML (VAST/VMAP), not an HTML redirect/error page.
  • If using IMA, confirm tag compatibility and disable ad blockers. Google also notes this for sample tags.
  • Check console/network: blocked requests, CORS, mixed content (HTTP on HTTPS).

“No fill” / empty response

  • No demand: no active line items or no connected partner/SSP for that inventory.
  • Macros not populated (e.g., device/app bundle/consent).
  • Overly strict targeting (geo, device, sizes, min/max duration).

VAST errors (tracking, wrappers, timeout)

  • Simplify first: validate a single pre-roll tag, then add wrappers/pods gradually.
  • Use testing tools (inspector) to locate parsing breaks and failed tracking URLs. Source: IMA VSI.

11) FAQ

Can I get a “Google VAST tag” like AdSense?

In general, AdSense isn’t the typical route for “giving you a VAST tag” to paste into a video player. For VAST/VMAP, the most common flow is Google Ad Manager + demand (direct, programmatic, AdX, or a partner).

Is creating GAM enough to monetize immediately?

GAM is the “container” (ad server / inventory management). To earn money you need demand: direct line items or programmatic (AdX/partners/SSPs). If there’s no demand behind the tag, you’ll likely see “no fill”.

VAST or VMAP: which one should I use?

Use VAST for a simple single break (often pre-roll). Use VMAP if you want a playlist of breaks (pre/mid/post) and insertion rules. VMAP includes VAST + timing.

What’s the fastest way to tell if the issue is the player or the tag?

Test the tag in an inspector/validator and/or try a known working sample tag. If a sample tag works and yours doesn’t, the issue is often in the tag (params/macros/demand).


Useful references: Google Ad Manager — All VAST ad tag parametersGoogle IMA — Sample ad tagsGoogle IMA — Video Suite Inspector (VAST test)Google Ad Manager — VMAP for video ad insertionTeads — VAST integration for instreamEX.CO — Ad Server VAST IntegrationOpenX — VAST/VPAID tags (BrandTags)Microsoft Monetize — Export placement tags

Was this answer helpful? 0 Users Found This Useful (0 Votes)