Step-by-Step Guide to Prebid Native Ads in Google Ad Manager (GAM)
Native advertising offers a seamless way to present ads that blend with your site’s design, but setting them up with Prebid and Google Ad Manager (GAM) can be complex. Publishers need to ensure these creatives display accurately, track properly, and support competitive header bidding workflows.
This guide breaks down the complete process for integrating Prebid native creatives into GAM. We focus on practical steps for ad ops teams—whether you use Prebid.js on web or Prebid Mobile for in-app monetization.
Understanding the Role of Native Creatives in Prebid + GAM
Native ads rely on a structured set of assets—like image, title, brand, and click tracker—rather than a single image or standard HTML creative. With Prebid, these assets are assembled either in the browser or through a rendering script.
When integrating with GAM, there are a few pathways. You can use GAM’s native design tool to manage templates and variable mapping, or lean on Prebid Universal Creative and your own code. Whichever approach you choose, your native template needs to match Prebid’s asset naming and supply the necessary variables for dynamic creative rendering.
Example: Native Auction Flow vs. Standard Banner
• In a standard banner setup, a creative is just a static image or tag passed via header bidding and displayed by GAM.
• With native, Prebid collects and transmits multiple ad assets through key-value targeting. The rendering is handled by a template that references variables like ‘hb_native_title’ and ‘hb_native_image’, allowing the ad to reconstruct on the page as designed.
Why it matters: If asset mapping or template logic breaks, you may see blank ads or broken layouts, hurting your revenue and user experience.
Building and Managing Native Ad Templates in GAM
The heart of native monetization in GAM is the template. Templates define the layout and styling (HTML/CSS), and map variables to Prebid’s asset keys. Mistakes here are the single most common cause of broken native ads.
Creating a Fluid Native Template
1. Go to Delivery > Native in GAM and start a new ad template.
2. Choose ‘Fluid’ size to ensure adaptable layouts for responsive designs.
3. Under custom format, define required variables (e.g., ‘title’, ‘image’, ‘body’, ‘brand’). Add variables for every asset Prebid bidders might send.
• Set these as required to prevent empty ads.
Styling and Macros for Prebid
• Use macros like ‘##hb_native_title##’ and ‘##hb_native_image##’ directly in your HTML and CSS.
• To enable click/impression tracking, ensure clickable links use ‘class=”pb-click”‘ and that any required trackers are fired in the template.
• For most implementations, link to the Prebid Universal Creative (PUC) JS via a CDN or host the file yourself. If using a CDN (like jsdelivr), declare it as an ad technology provider in GAM for privacy compliance.
Attaching Native Creatives and Ensuring Privacy Compliance
After the template is built, it’s time to create the actual native creative linked to your advertiser and campaign. Details matter at this step, especially for brand safety, click tracking, and compliance in Europe.
Association and Ad Tech Provider Declarations
• Select your advertiser and attach the native format (template) you just made.
• The click-through URL field is a formality—it will be replaced by the actual winning bid’s native assets at runtime.
• If using external JS (like jsdelivr-hosted Prebid Universal Creative), you must declare the domain as an ad technology provider for GDPR and related privacy rules. Skipping this step could result in creatives not serving or compliance warnings in GAM.
Example: Mobile In-App Native (iOS and Android)
For mobile apps using Prebid, GAM expects you to define native variables such as ‘isPrebid’ and ‘hb_cache_id_local’. These allow the Prebid Mobile SDK to fetch creative assets at runtime, ensuring the experience mirrors a web environment.
Set up fluid-sized ad units and use user-defined variables for your in-app templates. When trafficking, assign the right values, like ‘1’ for ‘isPrebid’ and dynamic patterns for cache IDs.
Common Issues and Troubleshooting Tips for Ad Ops Teams
While native implementation offers flexibility, it also introduces new classes of errors for publishers. Most fall into either template misconfiguration or integration mistakes between Prebid and GAM.
Frequent Mistakes
• Not mapping all potential native asset variables—this will cause missing elements or empty ads.
• Forgetting to make variables “required,” leading to creatives that serve without all the necessary components.
• Incorrect macro usage—double-check macro naming and referencing to ensure the assets show up.
• Omitting click tracker logic (pb-click class), resulting in untracked interactions.
Operational Fixes
• Always preview and QA native creatives before activation in real publisher inventory.
• If using Send All Bids mode, ensure that each creative references the correct bidder code in adid macros to prevent mismatches.
• Monitor for errors in the console and check if required assets are present in Prebid bidder responses during troubleshooting.
What this means for publishers
Getting native ads right with Prebid and GAM is critical for both maximizing fill rates and preserving user experience. Operationally, the process requires careful attention to creative templates, variable mapping, and privacy compliance. When done well, publishers unlock access to high-yield demand and better control over ad rendering—but mistakes can quickly undermine monetization or disrupt site layouts.
Practical takeaway
Ensure your ad ops team is methodical in building and managing native templates within GAM. Always define every variable you expect bidders to use and make them required to guard against blank or broken ads. Use Prebid macros precisely and follow privacy requirements when referencing third-party scripts or CDNs.
Test each native creative thoroughly and confirm your templates work for both desktop and mobile. For mobile in-app, integrate with Prebid’s SDK and validate variable passing across platforms. Finally, regularly audit your active templates and creative associations—native monetization is only as robust and scalable as your ongoing QA process allows.