Skip to main content
This page gives you a set of fake files from a made-up publisher, “Sample Publisher Network”. Copy them, load them into a test storefront, and see what a working setup looks like before you prepare your own.
Everything here is synthetic: no customer data, and every domain uses the reserved .invalid suffix so nothing can resolve. Any budget, reach or price is training data, never a market claim.
Reading this page adds nothing to any account. If you rehearse with these files, use a test or demo storefront, never a real seller’s storefront, and never present the fictional facts to buyers.

Where to rehearse

  • A Demo Storefront. Semicola staff can create one for you: a separate seller account with a seven-day lease, already loaded with Sample Publisher Network’s synthetic products and sources. It is cleaned up when the lease ends. Ordinary accounts can’t create one; ask Semicola.
  • A storefront you are willing to change. Every save below is a real change to that storefront, and each asks for confirmation.

How to use this pack

1

Set up merchandising

Apply the storefront profile, products and pricing, playbook, business rules and creative rules through their own tools or pages. Review each proposed change before confirming it.
2

Add the media kit to the Library

Save it as material and review what the storefront agent extracted.
3

Test the briefs

Run the brief corpus as practice RFPs and grade the answers.
4

Stop before transactions

Going live, marketplace listing and delivery are separate decisions. A good rehearsal proves none of them.

Which files you need

Not available yet, so not included: CRM context, and booking and reporting exports for reconciliation.

Merchandising files

Storefront profile

Who you are as a seller. Buyers need to know who they are buying from; this feeds your listing.
save_seller
The brand domain, sample-publisher.synthetic.invalid, is set on the Listing page (set_storefront_operator_domain). A .invalid domain never verifies, which is the point: it can’t be mistaken for a real publisher.

Media kit

Your pitch in prose: what each product is good for and who it reaches. It is positioning evidence; it doesn’t create inventory.
save_material
Review the extracted selling points on the Library page; nothing changes until you confirm. See Library.

Rate card

What each product costs: a target, floor and ceiling CPM, and the window it applies to.
A rate card file is evidence, not pricing. Put the prices where the agent applies them: each product’s pricing option and floor, and playbook pricing facts. One product, for example:
save_wholesale_product
And the matching pricing facts:
save_playbook

Playbook

How the agent should sell: how many options to offer, when to ask instead of substituting, how much reasoning to reveal. This is judgment, not policy.
save_playbook
See Playbook.

Business rules and creative specifications

What you refuse, what needs a person, and which creative you accept. This is policy, not judgment.
save_business_rules
With both gates on manual, a person approves every media buy and creative before it runs. See AI Business Rules.

Inventory file

A completed static-avails-feed:v1 file for a modular source. Each row is one availability window: a pool, a date range, a capacity and a CPM. The three rows show both ways to state capacity: net (impressionsCapacity), and gross minus already booked (avails − upstreamBookedImpressions, including the 12m shorthand). Use one model per row. market and reportingJoinKey are extra columns, kept as source metadata.
publisher-avails-completed.csv
The preview accepts all three rows, with a GROSS_CAPACITY_NORMALIZED warning on the two gross rows. They can’t be committed: example-publisher.synthetic.invalid isn’t on your Property Roster and can’t authorize your storefront, so each row is blocked from activation. That is the expected result of a rehearsal; commit only rows for publishers that authorize you. The feed is impression-based: flat-rate flights, slot or time-based sponsorships and click pricing have no field yet, so keep them in supporting evidence.

Proposal tests

These check your agent’s judgment on sales that haven’t happened: fake buyer requests, run before any real buyer sees your storefront. No buyer is contacted.

Brief corpus

Thirteen fake buyer requests with the answer we expect: good fits, a policy refusal, a below-floor price, an unsupported duration, a vague brief, and an attempt to make the agent leak private rules. Run each as a practice RFP:
save_rfp
Grade each answer with record_feedback, change the setup, and re-run with append_turn. See RFP lifecycle. For the whole transaction path in the sandbox, run save_test_run once the briefs look right.

Evaluation prompt

A prompt to hand a fresh agent so it grades your setup from zero, using only these files and the public docs:

Next steps

Trace one campaign end to end

What a fictional campaign proves at each stage, and what it doesn’t yet.

Plan a GAM pilot

What a publisher needs for a pilot connected to Google Ad Manager.