Skip to main content
Once your ad server (Google Ad Manager, FreeWheel, or SpringServe) is connected and its inventory has synced, you turn that inventory into products buyers can discover and buy. You do this by working with your storefront agent in chat: pick the inventory to package, and the agent drafts, validates, and creates the product for you.

How a product gets created

The agent follows the same path every time, so you always see what you are about to publish before it goes live:
  1. Pick inventory. Choose the ad-server objects to package, such as ad units or placements from your synced inventory. If the package uses GAM key-values for targeting, create signal components from that ad-server targeting rather than putting raw key-values in the inventory selector bundle.
  2. Draft. The agent turns your selection into a product draft (name, the inventory it covers, formats, and description) and shows it to you.
  3. Validate. The agent checks the draft against your ad server, and runs advisory checks on the publisher properties the product declares, then surfaces anything worth your attention before publishing (see What validation surfaces).
  4. Preview. The agent shows what a buyer would see for the product.
  5. Confirm and create. Creating a product is a durable change, so the agent asks you to approve it explicitly. Once you confirm, the product is created and visible to buyers.
After creation, the agent confirms the product landed by listing your products back to you.

What validation surfaces

Validation (and preview) returns two kinds of findings:
  • Blocking problems that stop the product from being valid — for example a creative format your ad server doesn’t recognize. Fix these before creating.
  • Advisory warnings that never block creating the product, but flag a gap worth closing:
    • No publisher properties declared. The product doesn’t say which publisher properties (the publisher inventory it covers) it sells. Declaring at least one is recommended so buyers can see what they’re buying.
    • A declared property wasn’t found. You named a specific property (by id or tag) that isn’t in the registry or on the publisher’s adagents.json — usually a typo. The check skips a publisher that exposes no property list yet (not-yet-crawled), so valid-but-unindexed inventory isn’t flagged.
    • Publisher hasn’t authorized your agent. A declared publisher’s adagents.json doesn’t list your storefront’s sales agent. The product still authors fine; treat the warning as a publisher-owned authorization gap to fix before depending on that inventory. The check reads the publisher’s live adagents.json, so a publisher that simply hasn’t been crawled yet is not flagged.
Advisory warnings are informational: authoring a product never requires properties to be declared or a publisher to have authorized you. They help you catch gaps early.

Creating several products at once

When you have a set of products to add, for example a spreadsheet of ad units, you do not have to approve them one by one. The agent validates and previews each draft, then creates the whole set after a single approval.
  • Drop a spreadsheet into the chat. Attach a CSV or spreadsheet of products and the agent maps the rows into drafts, validates them, and proposes the batch.
  • One approval for the batch. You approve the full set once rather than per product.
  • It keeps going if one fails. Bulk creation continues on error: if one product can’t be created, the rest still are. At the end you get a clear per-product result showing which products were created and which failed, with the reason, so you can re-run just the ones that need attention.
You can also ask the agent to make the first pass for you. For example:
  • “Set up my initial products for me.”
  • “Take a crack at my first cut.”
  • “Here is a list of sections and ad units; bulk create products from it.”
The agent should inspect inventory selector capabilities, browse representative ad-server rows, map publisher/property/placement evidence into product drafts, validate the full set, and ask you to approve the batch before it creates anything.

Updating several products at once

When you need to change a set of products, for example fixing the ones that failed during a batch create or adjusting pricing across a slate, you do not have to approve each edit one at a time. The agent applies all patches after a single approval.
  • Describe the changes in chat. Tell the agent which products to update and what to change. You can paste a list or describe the edits; the agent maps them to the matching products and shows you what will change before asking for approval.
  • One approval for the batch. You approve the full set of updates once rather than per product.
  • It keeps going if one fails. Bulk updates continue on error: if one product can’t be updated, the rest still are. At the end you get a clear per-product result showing which products were updated and which failed, with the reason, so you can re-run just the ones that need attention.

Product status

Every product has a status:
StatusMeaning
draftNot yet live, not visible to buyers.
activeLive and discoverable by buyers.
archivedTaken off the market. Archive a product to stop offering it; make it active again to bring it back.
New products are created active unless you ask for a draft.

GAM key-value signal targeting

GAM key-value targeting is supported through signal components, not as raw product selector fields. For simple one-key mappings, browse the custom_targeting_key and custom_targeting_value ad-server targeting types and create a custom_key_value component. For composite logic, create a gam_targeting_groups component: groups are OR’d together, criteria inside a group are AND’d together, and multiple values in one criterion are OR’d by GAM for that key. Before answering whether a source supports key-value targeting, read the source’s signal-component capabilities. A GAM-backed ad server source can advertise mappingKinds[].mappingKind: "gam_targeting_groups" and API targeting types such as custom_targeting_key and custom_targeting_value. If those capabilities are present, tell the operator that key-value targeting is supported through signal components, then validate and create the component.

Property and tag mappings

Some large networks map each publisher property or site in GAM with key-values instead of breaking out placements or ad units per property. Sellers can now author and preview those source-scoped mappings, including tag-based mappings, through the property and tag mapping task. This authoring slice records the seller’s execution address. It does not replace publisher_properties, grant publisher authorization, or claim that downstream media-buy execution consumes the mapping yet. Do not use GAM key-values as a substitute for publisher_properties, and do not describe a mapping as proof of which properties a product sells. Use key-values for source targeting where the source capabilities support it; use ad units, placements, or declared publisher properties for the product’s inventory and property definition. See Ad-server signal components for the gam_targeting_groups request shape and validation flow.

Inventory sources overview

How sources sync inventory you can package

Ad-server access

What each ad server asks for, and why

Source diagnostics

Check sync health before packaging

Storefront onboarding

End-to-end seller setup