Helix Media

Ad Unit Naming Convention: A Practical Framework for Ad Ops Teams

By · December 14, 2025 · Updated on July 7, 2026 · Ad Optimization

What ad unit naming convention should a multi-property publisher use? Start with site_page-or-category_position_size. Add placement only when it changes trafficking or reporting, and keep tests or business rules out of the core name unless they point to a real inventory difference.

Key takeaways

Why naming consistency matters at scale

Naming consistency matters because Google Ad Manager, Prebid, reporting exports, QA sheets, and traffickers all touch the same inventory label at different moments. A name that seems fine inside one property turns into operational debt once you add sister sites, branded content, sponsorship packages, responsive slots, and repeat test cycles.

The failure pattern is easy to spot. One property uses hp_top_728x90, another uses homepage_leaderboard, a third uses top-banner, and now the yield team has to remember that all three mean the same commercial slot. Reporting joins get messy. Trafficking notes get longer. QA starts relying on tribal memory.

The name has to serve humans before systems

Google Ad Manager and Prebid can put up with plenty of naming mess as long as the IDs, paths, and key-values are wired correctly. Your team can’t. The display name is what an ad ops specialist scans during trafficking, what a yield manager filters in a report, and what a product manager checks when asking whether a page redesign touched monetized inventory.

Short names are usually the wrong thing to optimize for. medrec is shorter than news_article_mid_300x250, sure, but it makes the reader infer the site, template, slot position, and size from context. Searchable beats clever. If a name doesn’t hold up in a CSV export, a Slack message, and a GAM line item search, it’s too opaque.

The standard has to identify the commercial slot

A usable ad unit naming convention should tell you four things without opening a lookup sheet: site, page or category, position, and size. Add placement when it represents a distinct package, sponsorship surface, or sales concept. Don’t add it just because another team wants one more label in the string.

Naming systems outside ad ops enforce the same lesson: the string is a control surface. Microsoft Learn’s guidance for Windows Server and Active Directory naming conventions treats valid characters, uniqueness, and object clarity as governance issues, not cosmetic choices Microsoft Learn. Ad unit names need that same discipline because they become shared infrastructure.

You’ll see this exact operational question in the Google Ad Manager Help Community because multi-site publishers eventually run into the same wall: the old single-site naming style no longer carries enough context. The answer isn’t to make every name longer. It’s to use a predictable field order and a clear rule for what earns a slot.

A scalable naming taxonomy for site, page, position, and size

A scalable taxonomy uses the fewest fields needed to make the ad unit unique, searchable, and useful for trafficking decisions. For most U.S. publishers running multiple properties, the safest base order is site_page-position_position_size, with lowercase tokens and one delimiter that exports cleanly across tools.

Comparison chart showing ad unit naming taxonomy fields: site, page, position, size, optional suffix.
Choose the few fields that make ad units unique, searchable, and operationally safe.
FieldReadabilityUniquenessOperational valueBrittlenessRecommendation
SiteHigh: tells the operator which property owns the slot.High for multi-property accounts; low if every property has a separate GAM network.High for reporting, QA, and onboarding new properties.Low if you use a stable site code instead of a brand nickname.Required for shared GAM networks. Use a short permanent code such as nyt, tech, food, or local rather than a marketing brand that may change.
Page/categoryMedium to high: useful if the token matches the template or section people actually use.Medium: article and homepage separate inventory cleanly; overly granular category trees can collide after redesigns.High for line item targeting, packaging, and yield analysis.Medium: taxonomy reorganizations can make old names stale.Required, but keep it at the template or top commercial category level: hp, article, video, sports, finance. Do not encode every editorial subcategory.
PositionHigh: top, mid, rail, footer, and sticky are easy to scan.High when combined with page/category.Very high because position drives viewability expectations, refresh rules, and buyer packaging.Low unless the page layout changes completely.Required. Use visual or layout position, not sales language. top is safer than premium because premium can change without the slot moving.
SizeHigh when fixed: 300x250 and 728x90 are unambiguous.Medium: responsive and multi-size slots reduce uniqueness if the same name serves several sizes.High for trafficking fixed-size creatives and diagnosing mismatched demand.Medium: responsive design can make one size token misleading.Include when the slot is size-specific or sold that way. Omit or use multi only when GAM size mapping and Prebid adUnits handle the actual size list.
PlacementMedium: helpful when it maps to a package, not when it repeats position.Medium: can distinguish sponsor modules from standard display inventory.Useful for direct-sold sponsorships, native modules, and special packages.High if sales packages are renamed every quarter.Optional. Add only when it changes a trafficking decision. Naming structures in Meta Ads often encode hierarchy and commercial intent, but ad units should not absorb every campaign-level concept Ad Naming Conventions for Meta Ads.
Experiment suffixLow in routine use: suffixes add noise after the test ends.High during a controlled test, low afterward.Useful for QA and analysis during active experiments.Very high because tests expire, merge, or get abandoned.Avoid in the core name for temporary tests. Use a suffix only for real structural variants, and retire it after promotion or rollback. Keep test IDs in a separate field when possible.

Delimiter choice feels boring right up until it breaks a report. Use underscores between major fields and hyphens inside multi-word values: site_article-top_300x250 is easier to parse than site|article top|300 x 250. Avoid spaces, special characters, diacritics, and mixed casing unless your organization has already standardized them across exports.

Bionic’s naming convention guidance for media planning makes the same operational point from another angle: hand-built strings in spreadsheets get fragile when the convention depends on lookups and concatenation rules Bionic. For ad units, the rule should be simple enough that a trafficker can create the right name without rebuilding a formula chain.

Where to stop adding detail

Stop adding fields once the next token describes a business decision instead of an inventory fact. direct, programmatic, q4, sponsor, and highvalue can feel useful during setup. They age badly. A slot can move from remnant to premium, a sponsorship can end, and a Q4 test can become the standard template.

Creative file naming follows a different logic. Advariation discusses ad creative file naming around IAB-oriented production workflows, where asset dimensions, versions, and formats are part of the file’s identity Advariation. An ad unit lives longer than a creative file. Treat it like inventory infrastructure, not campaign packaging.

How to avoid conflicts across GAM and Prebid

Conflicts show up when the ad unit name, the GAM ad unit path, and Prebid targeting keys all try to describe the same thing in different ways. The clean setup is straightforward: let the name identify inventory, let key-values carry request-time context, and let line items express commercial rules.

  1. Separate the display name from targeting semantics. The ad unit name should say site_article_top_300x250. Key-values can carry page_type=article, section=sports, pos=top, or refresh=eligible. If both the name and key-values encode the same changing business logic, one of them will go stale.
  2. Map one inventory concept across systems. In Google Ad Manager, the ad unit path and line item targeting should point to the same slot concept that Prebid calls in the adUnits configuration. Do not create separate names for the same slot just because one demand path is direct and another is header bidding.
  3. Keep Prebid labels descriptive, not decorative. A Prebid adUnit code should be traceable to the same slot your ad server uses, but bidder parameters and mediaTypes already describe demand mechanics. Do not bury bidder, floor, or deal logic inside the visible ad unit string.
  4. Handle reused placements with context. If the same 300x250 appears on article pages and gallery pages, page/category must separate them. If the same module appears twice on one template, position must separate them: article_mid1_300x250 and article_mid2_300x250 are clearer than two copies of article_medrec.
  5. Treat responsive slots as inventory families. If GAM size mapping allows 970x250, 728x90, and 320x50 from the same top slot, do not force every possible size into the name. Use top_multi or omit size if the actual allowed sizes live in GAM and Prebid configuration.
  6. Do not encode remnant versus premium in the ad unit. That distinction belongs in line item priority, pricing rules, packages, deals, or reporting labels. Once premium_rail_300x250 underdelivers and gets opened to broader demand, the name becomes a lie.
  7. Reserve renames for structural changes. A redesign that moves the slot from the right rail to an in-content position deserves a new position token. A sales team renaming a package does not. If the pixels and commercial inventory are the same, keep the ad unit stable.

The risky naming convention is the one that turns into a mini data warehouse. If your string includes site, template, position, size, audience, refresh status, floor tier, sales channel, device, and experiment, it may look helpful for one quarter. After the next reorg, it becomes a maintenance problem.

How to handle A/B testing without breaking the convention

A/B test markers should stay as temporary metadata unless the variant creates a durable inventory shape. Keep the core ad unit name stable for test treatments that change rules, floors, refresh, or demand access. Create a new name only when the page exposes a materially different slot.

The practical rule is simple: tests can annotate inventory, but they shouldn’t redefine the taxonomy unless the user-facing ad opportunity changed. That keeps A/B testing traceable without turning your GAM tree into a graveyard of abandoned variants.

Document the convention so the team actually uses it

A naming convention only works when the source of truth is easier than improvising. Put the standard where trafficking actually happens: the ad ops SOP, the new-site launch checklist, the GAM build request form, and the master inventory sheet your yield team already trusts.

  1. Write the pattern in one line. Example: site_page-position_position_size_optionalplacement_optionalsuffix. Then define each allowed field below it with approved tokens and examples.
  2. Assign one owner. The owner can be ad ops, revenue operations, or platform operations, but one person or group must approve new tokens. Shared ownership without a final approver produces local dialects.
  3. Create a change request path. New sites, new templates, sponsored modules, and redesigns should trigger a naming review before GAM objects are created. Rename cleanup after launch is slower and riskier.
  4. Keep a token registry. List approved site codes, page/category tokens, position tokens, size handling rules, placement values, and retired values. Mark deprecated tokens so reporting users know why old names still exist.
  5. Add validation to trafficking QA. The checklist should ask whether the name uses approved delimiters, matches the site code, includes the correct page/category, uses a real position, handles size correctly, and avoids business logic.
  6. Review exceptions monthly during active build periods. Exceptions are not automatically bad; undocumented exceptions are. If a local property needs a special token, document the reason, owner, and sunset condition.
  7. Onboard new properties with mapping, not translation. Do not copy a local site’s old names into the shared network. Map old inventory to the standard pattern and preserve legacy names only as notes or reporting aliases.
  8. Automate after the rule is stable. Spreadsheet formulas can help, but they should implement the convention rather than invent it. If you use planning or workflow software, encode the approved fields there so names are generated consistently.

Borrow the governance mindset from Active Directory and Windows Server naming: objects stay manageable when names are constrained, predictable, and reviewed before they spread. Ad ops doesn’t need enterprise IT bureaucracy. It does need the same refusal to let every team invent local syntax.

Final operating checklist

Frequently asked questions

What is the best ad unit naming convention?

The best one is the simplest pattern that still identifies the site, page or category, position, and size without ambiguity. For most multi-property publishers, that means a stable, searchable string that a trafficker can read in GAM, a yield manager can filter in a report, and QA can recognize in a Slack thread without opening a lookup sheet.

Should ad unit names include sizes?

Yes, when size changes the slot or prevents confusion between similar placements. If a placement can appear in more than one size, or the size is part of how you report and traffic it, include it. If the slot is always the same size and already obvious from context, repeating it just adds noise.

How do I keep GAM and Prebid naming consistent?

Use the same core taxonomy across both systems, but keep one stable human-readable name instead of stuffing display labels, targeting keys, and test markers into it. GAM paths, Prebid keys, and reporting exports can differ under the hood; the important part is that everyone maps back to the same commercial slot without guessing.

Should A/B test variants be part of the ad unit name?

Yes, if the test changes the slot itself and the variant needs to stay distinct in reporting. Use a clear suffix for short-lived tests, then remove it on cleanup so the experiment label does not turn into permanent clutter. Keep business rules out of the core name unless they represent a real inventory difference.

How we researched this

Sources consulted for this article: