Internal Campaign Cheat-Sheet · Boost AI Agency × Serava / Prime

Serava Sports × Manchester United i Norden

Campaign v2 — the 15,000-ticket push (18 Jul). Serava is releasing 15,000 general-admission (GA) tickets for the Stockholm match, on sale until 31 July, through their own tracked link. The €5,000 now funds a four-engine machine — giveaway, paid ads, B2B bulk, and the tracked spine — not just paid media. Start with the one-screen pitch ↑. The hospitality packages below become the premium upsell track. The detailed sections are being re-based from v1 (19-day hospitality) to v2; where they still read "~100 tickets / 19 days", that's v1 and is being updated.
The spark, not the whole engine — €5,000 ignites; four engines move the volume.
42 price-free ads + 31 videos + 13 full ads — finished, staged, not published
9 price-bearing ads — held until the VAT checkout is fixed (D17)
Stockholm · Prospecting floor
Manchester United – Atlético
Stockholm · lör 1 aug 2026 · arena & kickoff not named by Serava Sat 1 August 2026
från 1 995 kr · Lounge 40 floor "from 1,995 kronor" (≈ €176)
Göteborg · Andrahand anchor
Manchester United – PSG
Ullevi, Göteborg · lör 8 aug 2026 · dörrar 15:00 / avspark 17:00 Sat 8 August 2026 · doors 15:00 / kick-off 17:00
från 2 995 kr · Walls of Fame floor "from 2,995 kronor" (≈ €265)
42
Shippable ad images (+9 held on the VAT gate)
31
Finished videos (27 cinematic + 4 UGC) · 13 are full ads
15,000
GA tickets to sell general admission · Stockholm · by 31 Jul
€5,000
Budget ads + competition + mechanics
13 days
To launch & sell 19–31 Jul · match 1 Aug
The €5,000 push · in one screen

Sell through 15,000 Man United tickets
by 31 July.

Manchester United vs Atlético in Stockholm, 1 August. Serava releases 15,000 general-admission tickets and we drive every buyer through Serava's own tracked link — so every krona of promotion is measured and optimised in real time. This is the plan your €5,000 funds.

15,000
tickets to sell
in 13 days · match 1 Aug
€5,000
total budget
ads + competition + mechanics
4
engines, not 1
paid is the spark, not the machine
real-time
measurement
own link + Meta pixel = live data
Where your €5,000 goes
Paid amplification · ~€4,200
Reserve · ~€800
Prizes: from inventory · €0 cash

~84% goes to paid reach because the other costs are near-zero: the giveaway prizes come out of the ticket allocation (not cash — a given-away ticket drives far more sales than it costs), and the funnel plumbing is our build time. The reserve covers tooling and a contingency. Production and media are never added together — the creative was already built and paid for; this €5,000 buys attention.

The 4 engines — how 15,000 tickets actually move
ENGINE 1 · the spine

Own tracked link

Every promo — ad, email, contest, post — routes through Serava's own link (UTM + Meta pixel). We see conversion by source, live, and shift budget to whatever wins.

→ measure & optimise everything
ENGINE 2 · the reach

The giveaway

Free tickets → thousands of entries → each entry is a warm lead. "Didn't win? Here's your seat." converts a share of them, and the giveaway itself creates the hype. This is the viral engine, and it runs on warm lists — no Meta account needed.

→ mass reach + a lead list that outlives the match
ENGINE 3 · the accelerant

Paid ads (Meta)

Ignites demand and retargets everyone who looked but didn't buy. Comes online ~day 3, once the pixel + ad account are set. Spark and amplifier — not the whole fire.

→ intent capture + retargeting
ENGINE 4 · the volume

B2B bulk

Direct outreach to regional corporates and sports associations who buy tickets in blocks. One association can move 500 in a single order — where big numbers arrive fast. An AI concierge qualifies and nurtures; a human closes.

→ block sales, fast

Running in parallel on Serava's own side (not ours): the same inventory listed on StubHub & Viagogo to capture global and secondary-market demand. Four engines pulling together, plus the press attention a Man United fixture generates on its own.

What to expect — and the honest version
Day 1–2
Tracked link + pixel live. Contest opens on warm lists (Scand Sports, Fotbollsmorgon). Secondary listings up. First entries and first organic sales — no paid spend yet.
Day 3–7
Paid ads online. Retargeting pool builds. Giveaway virality peaks. First B2B blocks close. This is where the curve bends up.
Day 8–13
Close mode: countdown creative, retarget the warm pool, last-call. B2B bulk lands. Every krona pointed at conversion, not discovery.
The honest headline, now with the real margin (Mats, 18 Jul: 20%): at a 20% margin, paid ads have to return 5× just to break even — and the median plan returns ~4.8×. So the directly-attributed GA sales from paid ads do not, on their own, pay for the ad spend (GA margin is 160 kr/ticket; €4,200 of ads would need ~297 GA sales to break even, and buys ~130–260). This does not sink the campaign — it tells us what the €5,000 is FOR: ignition, measurement, the giveaway list, and a retargetable audience. The profit sits in two places the paid spend doesn't have to carry: the near-free engines (giveaway, B2B blocks, the secondary markets) that move GA volume at no ad cost, and the VIP tier — at 600 kr margin, just 79 VIP sales pay for the entire €5,000. The tactical move that follows: steer part of the paid budget toward VIP, where the euro actually pays back.
Where we stand — two answered, three to go

Timeline is the binding constraint. Paid ads can be live ~day 3 if the ad account is set tomorrow. The engines that need no Meta account — the tracked link, the warm-list contest, the secondary listings, B2B outreach — can start day one. That's the plan: launch the free engines now, bring paid online in three days, close by the 31st.

00a

The 26 July re-cross — same €5,000, different target

Nothing launched. The plan was a 13-day flight, 19–31 July, aimed at Stockholm. The re-cross was run on Sunday 26 July; as of Monday 27 July Stockholm is five days away and Göteborg twelve — the calendar below is unchanged, but the “Mon 27 Jul” row is today, and it is the row everything else depends on. The budget does not change — Mariano confirmed €5,000 on 26 July, and this page does not re-open it. What changes is the calendar, the target and the phasing. Everything below was re-verified live today against Serava's site, its public API and a checkout walkthrough (nothing submitted) — plus read-only checks of the automation instance and the database. Full working: strategy/media-plan-v6-recross.md.
The slip is not the biggest thing that happened this week. Three findings from today's verification re-write the plan more than six lost days do — and two of them were true in July as well. Nobody had checked.
F1 · Serava does not sell a GA ticket
Verified against the complete catalogue — /api/events, 8 events, one response
re-writes the plan

The whole campaign was built on "sell through 15,000 GA tickets at 800 kr." No event on seravasports.com has a general-admission tier, and nothing is priced anywhere near 800 kr. The floor is Lounge 40 at 1,995 SEK (Stockholm) and Walls of Fame at 2,995 SEK (Göteborg). The site sells hospitality, and only hospitality.

GA exists — but Ticketmaster sells it. Serava reaches it the way an affiliate does: three partner landers carrying a promo code that link out (SCANDSPORTS, FOTBOLLSMORGON, ICA2026).

So: there is no own tracked GA checkout — the only tag on that path is Ticketmaster's own CL_ORIGIN, not a UTM, with no pixel behind it. Paid media pointed at GA would spend our euros to earn someone else's margin, build no retargeting pool, and report nothing back. The 800 kr price is also unverified — Ticketmaster's price panel returned no results and then bot-blocked us.
F2 · In sixteen days, not one package moved
Today's API response vs the 10 July snapshot — identical, field for field
inverts the creative job

Same 5 + 3 packages, same prices, same Ink. moms labels, same capacity, same availability flags. Nothing sold out, nothing changed price, nothing moved — with Stockholm six days away.

Re-read the risk. Every piece of urgency creative in the inventory is built on scarcity — begränsat antal, sista chansen. The evidence says the risk is not that Stockholm sells out before we arrive. It is that it does not move at all. That changes the creative job: from "claim your place before it's gone" to "here is a reason to be there at all."
F3 · Serava already runs a contest — for our exact prize
Live today on three partner landers, with published weekly winners
collision

Weekly prize, verbatim: "2 VIP seats to Manchester United vs Atlético Madrid at Strawberry Arena · August 1, 2026" plus a 500 SEK gift card and two Allsvenskan tickets. Grand prize: a trip to Old Trafford. Winners already published for weeks 1 and 2.

"Bygg din drömmatchdag" cannot launch as designed — it would compete head-on with a running Serava contest for the same prize. It needs Mats and Daniel to decide: coordinate, fold into it, or drop it. Note also that the mechanic we said would die on 19 July is still running on the 26th — that reasoning was wrong, and the contest is a live asset rather than an expired one.
Two smaller findings, both useful. Strawberry Arena is now nameable — on 10 July the rule was "the site never names a Stockholm arena, do not attribute one"; Serava's own landers and contest form now say "Strawberry Arena · August 1, 2026" verbatim, so the venue rule lifts for Stockholm, sourced to Serava's own pages. (Kick-off 15:00 comes from Ticketmaster, not Serava — cite accordingly.) And /api/pages/{slug} returns each lander's full Swedish and English content with a hard updated_at — the clean way to audit site changes, and to propose a campaign-owned landing page without anyone touching the front end.
And one that did not change. The VAT defect is untouched. Verified in the live checkout today, both matches: a package listed "2 995 SEK / Ink. moms" produces Moms (25%) 748,75 SEKTotalt 3 743,75 SEK. The two legal pages still contradict each other — one says card payments include 25% VAT, the other says it is added — and both rows carry updated_at 2026-06-07. Nobody has touched them in seven weeks. Someone was working the site today: the three partner-lander rows were rewritten at 18:38 UTC to add contest stock counters. They did not touch the VAT bug.
00b

What the slip actually costs

The question is not "can we still spend €5,000?" It is "what can a brand-new ad account spend, usefully, in the days that remain?"

Two limits, neither purchasable

1 · A new ad account carries a low account-level spending limit and billing threshold, both of which rise only with payment history. It cannot absorb €840/day — which is what €4,200 across Stockholm's five remaining days would require.

2 · The learning phase needs ~50 optimisation events per ad set per week. An ad set that starts Monday and ends Friday never exits it. Delivery stays unoptimised for the whole Stockholm window.

Therefore Stockholm's paid line is structurally capped, not merely rushed

Honest ceiling on our own account: about €475 delivered, returning roughly half its cost in margin. Spending it is worse than not spending it. Pushing hard against those two limits on day one is also the exact pattern that gets a new account restricted — and the scarcest asset in this campaign is the ad account that does not exist yet.

Göteborg, at thirteen days, has room for both a warm-up and a real scaling window. That is the whole re-cross.

The paid euro moves off a GA volume push that has no own checkout, no attribution and someone else's margin — and onto Göteborg hospitality: our own checkout, our own margin, thirteen days of runway. Stockholm is worked by the engines that cost no media and are already live.

This is not a retreat — it is the campaign's own margin logic applied one level up. The earlier finding was that GA margin (160 kr/ticket) cannot repay paid media, and that the premium tier (600 kr) is where the euro comes back. F1 says there is no GA on Serava to steer away from: the only product Serava can take money for is the high-margin one. The campaign was already the margin play; the site just confirmed it.

The first honest shock — the inventory is 7× smaller than the envelope

€5,000 was sized against 15,000 GA tickets ≈ 12M SEK gross. What actually has a checkout is ~600 seats across both events ≈ 1.65–1.72M SEK gross, ≈ 330,000 SEK of margin at 20%.

The API also contradicts itself: event-level capacity is 300 for both matches, while Göteborg's package guests fields sum to 520. We plan against 300 and treat 520 as unverified upside — oversell of a capped package (Walls of Fame = 60) is the worst available failure mode for a reseller. The slip did not cause this. It just made it impossible to keep not noticing.

The slip hurt Stockholm and quietly helped Göteborg

Stockholm (1 Aug) is the last weekend of industrisemester — half the country is still away. Göteborg (8 Aug) is the first week Sweden is back home. The event with the runway is also the event with the audience physically present.

🔴 But the 24 July payday is already spent. The entire reason the plan demanded a 21 July launch was "be out of learning phase exactly when the salary lands." That peak is gone, and the next Swedish payday is 25 August — after both matches. The whole re-phased flight runs in the post-payday valley: a real headwind the sensitivity grid does not model, and the reason we read the median cell and nothing above it.

The split — €5,000, unchanged in total
LineSEKJobWindow
Stockholm sprint — partner account4004,520An account with billing history skips both provisioning and the learning tax. See below.Mon 27 → Fri 31 Jul
Göteborg prospecting2,70030,510The real buy. Builds the retargeting pool as a by-product.Tue 28 Jul → Fri 7 Aug
Retargeting R11,00011,300Video-viewers ≥50% / 14d. The only line above break-even; carries the premium tiers.From ~2 Aug
B2B lead form3003,390List only — not forecast as orders. The real B2B is a person on the phone, at €0.Mon 3 → Thu 6 Aug
Reserve6006,780Released on signal — and only if retargeting is above 5.0×.
Total5,00056,500Prizes remain €0 cash, drawn from inventory.
The Stockholm unlock — borrow an account that already has history. Our own ad account will be hours old and will spend its whole Stockholm window inside the learning phase, under a low limit. But Serava's partners already advertise — Scand Sports and Fotbollsmorgon run landers, a contest and a media audience, which means existing ad accounts with billing history and no provisioning delay. Running the Stockholm creative from a partner account skips both constraints. This is an ask, not a plan — it needs Mats to authorise it and the partner to agree, and the creative still has to satisfy every guardrail (no price, no club IP). If it is refused, Stockholm's paid line is €0 and the €400 rolls into Göteborg. That is a perfectly good outcome; burning a virgin account to prove the point is not.
00c

The forecast — and the one line of config it all hangs on

Same inputs every version has used, so the versions stay comparable: CPM 110 SEK · CPC 10 SEK · click→order 0.3 / 0.6 / 0.9% · party size 2.0 / 2.6 / 3.2. The median cell rules. What changes is the order value: hospitality at ≈3,300 SEK/seat ≈ 8,580 SEK/order, not GA at 800 kr. And this version applies a rule the first draft forgot — the standing −25% conversion haircut on the card path while the VAT surprise is live.
Göteborg prospectingRetargeting R1Consumer total
Budget30,510 kr11,300 kr41,810 kr
Impressions~277,000~103,000~380,000
Clicks~3,051~1,130~4,181
— IF THE STRIPE FIX SHIPS —
Orders~18.3~7.0~25.3
Seats~48~18~66
Revenue~157,000 kr~60,000 kr~217,000 kr
ROAS~5.15×~5.28×~5.18×
— IF IT DOES NOT (−25% HAIRCUT) —
Orders~13.7~5.2~18.9
Seats~36~14~49
Revenue~118,000 kr~45,000 kr~163,000 kr
ROAS~3.86×~3.96×~3.89×
The hospitality margin is still the unanswered question — the 20% figure was quoted for the ticket tiers, not for hospitality.
True hospitality marginBreak-even ROASWith the fix (5.18×)Without it (3.89×)
25%4.0×✅ clears❌ loses
20%5.0×✅ clears by 3.6%❌ loses 22%
15%6.7×
€4,800
The single most consequential number on this page. The gap between those two columns is ~54,000 SEK of revenue — more than the entire paid-media budget of €4,400. One Stripe option is worth more than every optimisation decision in this plan combined, because the margin per hospitality seat is roughly 4× GA's. It has been pending since 7 June. Therefore the recommendation is conditional, and the condition is not ours to satisfy: do not release the Göteborg scale budget until the fix is verified live in the checkout. Verifying it costs one modal open and thirty seconds.
The counter-argument, kept on the record because it is strong. Break-even on the full €4,200 at Göteborg's floor price is 79 attributable sales ≈ 26% of the event, sold cold, by paid media alone, in ten days — against an event the site still flags Available and which also sells through channels we do not touch. The reachable band across the whole envelope is 6–32 orders; on that framing the paid line is short by a factor of 2.5–13×. The split above answers it by not putting €4,200 behind cold prospecting — it puts €3,700 behind the two highest-return surfaces and holds €600 back. But the objection is sized, not dissolved. If the Stripe fix does not land, the correct move is to spend the Stockholm sprint, hold the rest, and say so. And either way: ~66 seats against an event whose API says 300 is ~22% of Göteborg — paid media remains the spark, not the engine.
00d

The calendar — 26 July to 8 August

Day of week verified, not recalled: 26 Jul is a Sunday; 31 Jul Friday; 1 Aug Saturday; 2 Aug Sunday; 3 Aug Monday; 8 Aug Saturday.
DayWhat can actually be switched onOwn spendBlocking
Sun 26 JulBusiness Manager + ad account + payment method loaded. 12–14 creatives staged as drafts. Send the ask. Write the warm blast.€0
Mon 27 Jul🔴 Stripe fix + pixel + Purchase event. Card verification. Ads submitted for review — 2–3, not 14. Warm blast #1. Partner-account Stockholm creative goes live. Phone starts on the Stockholm suites.€0 +€150 partnerMats: account + list
Tue 28 JulAd approval. First real own spend, small — aimed at Göteborg, not Stockholm: the same money seeds the account and the pool.€75Token + payment
Wed 29 JulAccount warming. 2 ad sets maximum (Broad SE 25+, LPV objective). Retargeting pool starts building. Warm blast #2.€200
Thu 30 JulHook-rate read at ≥500 impressions/ad → kill anything under 15%. Stockholm phone closing at full tilt.€300
Fri 31 Jul🔴 The no-launch date fires today — if the own account is not spending by now, nothing launches on it at any budget. Stockholm last call through free and partner channels.€350
Sat 1 AugMatch, 15:00, Strawberry Arena. Capture matchday content — it is Göteborg's social proof. All weight moves to Göteborg.€400
Sun 2 AugIndustrisemester ends. Hard checkpoint: ≥3,000 cumulative clicks and a retargeting pool ≥12,000. Consolation sequence to every Stockholm non-converter.€400
Mon 3 AugRetargeting switches on. Prospecting exits learning. B2B outbound opens — corporate is back. Four useful business days.€450🟡 Lead form
Tue 4 AugRetargeting at full weight. First real creative cut at ≥5,000 impressions/ad.€450
Wed 5 AugKill the worst 3–4 ads; refresh from existing inventory. Do not produce new assets — the shelf already exceeds what 11 days can read.€450
Thu 6 AugLast useful B2B closing day. Release the reserve only if retargeting is above 5.0×.€500
Fri 7 AugFinal load. Frequency climbs, marginal return falls. No new money chasing scale — there is no learning time left.€400
Sat 8 AugMatch, 17:00, Ullevi (doors 15:00). Spend until ~13:00, then everything off.€150
The old no-launch date said 31 July, and on that reading the campaign is already over. It is not — because Göteborg exists, and the old plan treated it as a premium upsell rather than as a second event with its own runway. Restated: 31 July is the no-launch date for Stockholm. For Göteborg it is 1 August.

The highest-leverage move this week walks straight past the VAT gate

"Request Invoice" is live on every package of both events, verified today. The invoice path never touches the broken card checkout — so the price gate does not apply to it. It can sell, at a price, today, while every card-path ad stays price-free.

And the suites are group products by construction — 16–28 people, max 12, 6–12. One shared suite closed this week ≈ 28 seats × ~600 SEK margin ≈ 16,800 SEK ≈ €1,490 — a third of the entire paid budget, at zero acquisition cost. A native Swedish speaker owns the calls; the ask is the contact list and a block price.

Do not write "sales close 31 July" until Mats reconfirms it

The drafted copy publishes it as a firm deadline — "Försäljningen stänger den 31 juli." The site says nothing of the kind: no banner, no countdown, no deadline, and all five Stockholm packages still have a live "Pay with Card" button, verified in the modal today.

In July this was harmless — the flight ended at the deadline, so nobody could check. The slip made it checkable, and checkable against us. If Serava is still selling on 1 August after we published a 31 July close, that is a false deadline under the Marketing Act — the same defect class we reported to them. Until Mats confirms in writing, urgency anchors on the match date, never on a sales close.

Four risks the slip created that the old plan never carried
#RiskWhy it is new
R1Account restriction from the spend pattern itself. New Business Manager + new account + new payment method + aggressive spend inside 72 h + ticketing vertical + creative naming a football trademark.With a 21 July start and a ramp this was a non-issue. Compressed, it is the textbook pattern. A restriction freezes the pixel, the audiences, the Page and the payment method — we would be risking the client's future advertising capability, which the old plan treated as a free by-product.
R2The learning phase now closes in no scenario. Optimising to Purchase on 2,000–3,300 SEK packages needs 5,500–16,600 clicks per ad set per week; the whole envelope buys ~4,200.Before, a mid-funnel proxy plus a ramp could get there. Now 100% of the flight pays the learning tax. This is the strongest single argument for consolidating into two ad sets, not five.
R3The 31 July close became a legal exposure instead of a fact.It was unverifiable in July because the flight ended with it. Now the site can be checked against our own copy.
R4The VAT gate stopped being a task and became a signal. Flagged 10 Jul → re-verified 16 Jul → 18 Jul → today. Identical every time.It is one line of config. If a one-line change has not shipped in seven weeks, the measurement thesis — "the pixel and a Purchase event turn sales from a proxy into a read number" — rests on the same person and has no evidential basis. Plan the measurement layer without the pixel and treat it as upside, not fact.
The ask — eight items, one message, today
#AskWhoWithout it
1🔴 Stripe: charge the listed price — the tax setting, per price. The highest-value line in this table.DanielThe forecast drops from 5.18× to 3.89× — ~€4,800 of revenue, more than the whole media budget. Nine assets stay quarantined; all copy stays price-free.
2🔴 Business Manager + ad account ID + System User token + payment methodMatsNothing publishes on our own account.
3🟢 Authorise Stockholm creative on a partner ad account (Scand Sports / Fotbollsmorgon)MatsStockholm's paid line is €0 — a virgin account cannot usefully spend in five days.
4🔴 Meta pixel + Purchase event on the success pageDanielNo deep retargeting, no return-on-spend reporting, cost-per-acquisition readable only at order level. Plan without it regardless (R4).
5🔴 Reconfirm — is 31 July really the sales close?MatsWe cannot publish the deadline the copy already contains (R3).
6🟡 Contest: coordinate with the live one, fold into it, or drop ours?Mats + DanielOurs cannot launch — it collides with a running Serava contest for the same prize (F3).
7🟡 B2B: contact list + block price / minimum for the suitesMatsThe calls go out blind — and this is the highest-margin, zero-cost line available this week.
8🟡 Link the partner landers from the home page, and reconcile their three contradictory stock countersDanielThree converting pages stay reachable by direct URL only. Zero cost, same day. Three public pages quoting different scarcity for one event is a Marketing Act shape.
Still open from before, unchanged: the true hospitality margin (asked 12 July, still unanswered — and now the number that decides whether the forecast clears or loses); written permission to use tickets as a contest prize; the WhatsApp number and the person behind it; and whether the shirt may be advertised as part of the premium tier.
00

Cheat Sheet — what is happening, and what we're deciding

The one-screen version. Everything below this section is the evidence behind it.
The one thing that decides everything — and it's free

What is Serava's real profit margin per package? We assumed 15–25% and flagged it unverified. At the median result, this campaign breaks even only if the true margin is ≥24%. At 20% it loses money. At 15% it cannot work at any budget. One email to Mats answers it, costs nothing, and can now save €5,000. The budget grew 16×; the exposure grew with it. The question did not get harder — it got 16× more expensive to skip. Asked 12 Jul. Still unanswered.

Where the money went

€500 total budget. ~€185 (~$200) is already spent on production — building 51 ads and 31 videos (13 of them full ads). That's a permanent asset; it doesn't get spent again.

€5,000 is the media budget — 56,500 SEK over 19 days. Production spend and media spend are different things — never add them together.

What €5,000 can and cannot prove

Can now prove sales — conditionally. €5,000 buys n=32 orders at the median, not 0–3. That is a real sample. But only if Serava matches orders back to UTM at ≥70% — with no pixel, that data is theirs, not Meta's. Below that we are back to reporting sales rather than deciding on them.

Proves market response overwhelmingly. ~441,000 impressions — 14× the old test. Every ad crosses the sample threshold to be judged on its own merits within the first four days, instead of dying unmeasured.

So what are we testing?

Not "how many tickets do we sell" — we can't afford to ask that yet.

The question is now: "what does €5,000 actually buy against a 200–300 ticket goal?" Answer, with the number: ~100 tickets = 40%. Not 200–300 — those needed ~150k SEK (≈€13,000), and the window no longer admits that even with the money. There is no hidden economy of scale: ROAS is identical at €3,000 and €5,000, cell for cell.

How the €5,000 is being spent

CampaignBudgetWhat it's for
Prospecting
Traffic objective · 12–14 live ads
€3,500 70%Broad Sweden, 25+, 2–3 ad sets max. All price-free. Optimized for Landing Page Views. No interest stacking — the creative is the targeting.
Retargeting R1
Video viewers ≥50% · 14d
€1,000 20%Back from the dead. Pool reaches ~36,000 in four days and earns 5.3×. Zero spend in phase 1 — the pool does not exist on day one.
B2B
Lead form · reclassified
€500 10%Form lives on Meta — no website, no pixel needed. No longer an asymmetric bet: it can never exit Meta's learning phase (~8 leads/wk vs the 50 required) and has a 3-business-day closing window. Its real output is a qualified list for the 26/27 season.
19-day flight in three phases — learning 21–24 Jul (€250/day) → scale 25 Jul–1 Aug (€313/day) → Göteborg close 2–8 Aug (€214/day). Live on 21 Jul, not the 24th: the learning phase must be finished when Swedish payday lands on the 24th, not starting.

Why the clock, not the budget, is the constraint

Stockholm is 1 August — 20 days out. Göteborg is 8 August — 27 days.

The test must close by ~20–21 July. That leaves ~10 days to scale for Stockholm and ~17 for Göteborg. Run the test longer and we win the argument but miss the events.

A late verdict is a useless verdict.

Two things that would make the next round far cheaper, and both are ~free: (1) Install the Meta pixel — right now the ~250 people this test sends to the site cannot be re-reached, so the most valuable audience we produce evaporates. (2) Fix the VAT checkout — it unlocks 9 finished ads and removes a real legal exposure. Instructions ready to forward: strategy/webmaster-brief-pixel.md.
01

The Offer — Grand Slam

Serava is the advertiser; the product and prices are untouched. The lift is pure framing: anchoring, risk reduction and follow-up on inventory that already exists. Value figures ("värde X kr") are internal-only — never shown on any public surface (D19).
The andrahand (resale) anchor · Göteborg-only (D16)
"Ståplats i andra hand kostar redan upp till 3 495 kr. För samma peng: premiumplats, mat, dryck och egen entré." "A standing place on the resale market already costs up to 3,495 kr. For the same money: a premium seat, food, drink and your own entrance."

Hard rules: never the word "scalper" in Swedish; biljetthaj ("ticket shark") and andrahand ("second-hand") appear only on the Göteborg surface; never disparage legal marketplaces. Stockholm uses a different anchor — the 2025 sellout (45 345 attendees) plus domestic hospitality comparisons (Djurgården Grand Bar 1 795 kr · Svenska FA VIP 2 067 kr) — because Stockholm resale starts below Serava's 1,995 kr floor, so a resale comparison there would be misleading, which is an offence under the Swedish Marketing Act (MFL §10/§18).

Avatar

The superfan

25–54, Sweden / Norway / Finland. Dream: see United from a premium seat, not row 70.

  • Proof: confirmed allocation, instant card checkout
  • Effort ↓: buys in 2 min, separate premium entry, no queues

Avatar

The family

Industrisemester — the Swedish industrial holiday, when most of the country is off work in July. Stockholm falls on its last weekend.

  • Family Suite (6–12 people), "grillbuffé för hela familjen" "barbecue buffet for the whole family"
  • Copy 100% alcohol-free (D18); "begränsat antal" "limited number"

Avatar

The corporate host

Göteborg = the first week back at work. Impress clients; pay by invoice, not card.

  • Native B2B invoice path (faktura = "invoice")
  • Lead form on Meta → Matchday Playbook (B2B only)

Avatar

The group of friends

Norway — copy in bokmål (one of Norway's two written standards). Oslo→Göteborg is ~3h by road.

  • Shared Suite 16–28 people; one booking for the whole group
  • Capped at ~15% of budget (D15)

Value stack · VIP-passet ("the VIP pass") internal figures — never shown publicly

Lounge 40 · Stockholm · från 1 995 kr ("from 1,995 kr"). The bonuses are things the package already includes, simply re-named and priced.

  • Premium seat by the lounge (comparable: 1 795–2 067 kr)
  • "Skip-the-Crowd Entry" — egen premiumentré · ~300 kr "your own premium entrance"
  • Build-Your-Own Burger + dryck · ~250 kr "drink"
  • Bordsservering hela matchen · ~200 kr "table service for the whole match"
  • 3-Hour Access Window · ~150 kr

Perceived total ~2,900 kr — the customer pays from 1,995 kr. Consumer Playbook PDF was removed (no delivery mechanism → B2B only, D19).

Risk reversal — only claims we can verify

  • "Bekräftad bokning direkt vid betalning" "Booking confirmed immediately on payment"
  • "Betala med kort eller begär faktura" "Pay by card, or request an invoice"
  • "Svenskt bolag" (org.nr 556822-5139) "A Swedish company" — trust signal against anonymous resellers
  • Instant on-page checkout, no third-party redirect
  • Anti-guarantee (D21): "Bokningen är bindande — därför är din plats garanterad i bokningsordning." "The booking is binding — which is exactly why your place is guaranteed, in booking order." (The terms forbid refunds, so we turn the constraint into the promise.)

forbidden refunds, the word "official", exclusivity, transfer/resale guarantees, best-price promises — Serava's own terms contradict all of them.

Honest scarcity — all of it already true

  • "300 platser" per event "300 places" — stated on Serava's own site
  • Family Suite "begränsat antal" — never "already Limited" "limited number"
  • Fixed, immovable dates: 1 & 8 August
  • A real countdown is reserved for the final wave only
  • "Platserna bekräftas i bokningsordning" "Places are confirmed in booking order"

Offer names (dates embedded, so urgency is structural not manufactured)

  • United i Sverige — VIP-passet 1 & 8 augusti "United in Sweden — the VIP pass, 1 & 8 August"
  • Semesterns sista stormatch 1 augusti — Family Suite "The holiday's last big match, 1 August" (never "summer's last" — that would undercut the 8 Aug sale)
  • Värdskapets hemliga vapen — United på Ullevi 8 augusti "Hospitality's secret weapon — United at Ullevi, 8 August"
  • The Ullevi Roadtrip — 8 August (Norway / English)
🔻 Superseded on 26 July — conserved, not deleted. This section plans a 19-day flight against a 200–300 hospitality-ticket goal, and it was then re-based twice: first to a 15,000-GA volume push, and now by the 26 July re-cross, which found there is no GA product on Serava at all and re-pointed the same €5,000 at Göteborg hospitality. Read §00a first; the numbers below are the working, not the plan. The €5,000 envelope, the split logic, the sensitivity grid and the kill-rules all still hold — the target and the calendar are what changed.
02

Media Plan v4 — €5,000 over 19 days superseded

The budget went from €300 to €5,000 — 16×. That doesn't scale the plan; it changes which questions have answers. At €300 the only answerable question was "is this worth funding at all?" — sales couldn't be the gate, because 0–3 orders can't tell a working funnel from a broken one. At €5,000 orders reach n=32, so sales become a gate — conditionally (see below). What has not changed: nothing is published, and the four things blocking it are all free and all Serava's. Every acronym is defined in the Glossary.
⚠️ €5,000 is NOT the 75k SEK rung of the old ladder. €5,000 = 56,500 SEK = 59% of the way from 30k to 75k. It interpolates; it does not jump. Inheriting that rung's 110–140 tickets would over-promise by 40%.
~€185
Production — already spent
≈ $200 in tokens + platforms. Bought 51 ads + 31 videos + 13 full ads. A permanent asset, not a recurring cost.
€5,000
Paid media — the new budget
= 56,500 SEK (EUR/SEK ≈ 11.3) over 19 days (21 Jul → 8 Aug).
~100
Tickets it buys (median)
40% of the 200–300 goal. Without a corporate close — the most likely single outcome — 84 = 34%.
Production spend ≠ media spend. The €185 built the creative; the €5,000 buys attention. They are separate budgets and must never be summed into one "campaign cost" — doing so makes a permanent asset look like an expense.
How the €5,000 splits · prospecting 70 / retargeting 20 / B2B 10
Prospecting — €3,500 / 39,550 kr
Retargeting R1 — €1,000
B2B — €500

Retargeting comes back. At €300 it was dropped for a good reason: the video-viewer pool only reached ~2,200 people and never got usable before the test ended. At €5,000 the pool hits ~36,000 in four days, at frequency 2.2 — and it earns 5.3× against prospecting's 4.2×. The argument changed, so the decision changed. Without a pixel only R1 (video viewers) and R4 (leads) exist — R2 and R3 do not.

What €5,000 buys — median cell rules (0.6% conversion · 2.6 tickets/order)
ProspectingRetargetingTotal
Budget39,550 kr11,300 kr50,850 kr
Impressions~360,000~81,000~441,000
Clicks to the site~3,955~942~4,897
Orders23.78.532.2
Tickets~62~22~84
Revenue166,500 kr59,700 kr226,200 kr
ROAS4.21×5.28×4.4×
Same assumptions as v1/v2, unchanged, so all three are comparable: CPM 110 kr · CPC ~10 kr · conversion 0.3/0.6/0.9% · 2.0/2.6/3.2 tickets per order · avg ticket ~2,700 kr. Only 90% of the budget produces clicks — the B2B 10% produces leads, not site clicks, and is never added on top (that double-count was already corrected once, in D20).
Does it pay for itself? Only Serava knows.
True marginBreak-even ROASOur 4.8×
25%4.0×✅ clears — barely
20%5.0×❌ loses money
15%6.7×❌ cannot work at any budget
Break-even ROAS = 1 ÷ margin. Blended ROAS at the median (incl. B2B): 4.8× on ~269,400 kr.
The whole plan balances on one number nobody has given us. At €300, not knowing Serava's margin cost €300. At €5,000 it costs €5,000 — and it still costs nothing to find out. The exposure grew 1.67× with the budget; the question didn't get harder. It was asked on 12 Jul and is still unanswered.
n=32
orders at the median — enough to make sales a gate, for the first time. At €300 the range was 0–3: you cannot tell a working funnel from a broken one on a sample of two, so sales were reported but never decided anything. At n=32 (±36%) you can reject "conversion is zero" and estimate cost per order. But it is conditional: with no pixel, order data comes from Serava's back office matched on UTM, not from Meta. Below a 70% match the effective sample is n≈22 (±44%) and sales fall back to "report it, don't decide on it". And in the low-conversion cell (n=15), sales are not a gate at any budget in this range.
The go / no-go gate · Tier 1 — market & creative signal (large sample → decision-grade)
MetricWhat it means, in plain English🟢 Green🟡 Amber🔴 Red
CPM
Cost Per Mille
Cost to show the ad to 1,000 people. Is this audience affordable at all?≤110 kr110–150>150
CTR
Click-Through Rate
% of viewers who click through to the site. Does the creative earn attention?≥1.2%0.7–1.2%<0.7%
CPC
Cost Per Click
Cost of one click to the site. Is traffic affordable?≤10 kr10–16>16
Hook rate3-second video views ÷ impressions. Does the first 2 seconds stop the scroll?≥25%15–25%<15%
ThruPlayWatched to 15s or to the end. Does the story hold?≥10%6–10%<6%
Cost / LPV
Landing Page View
Cost of a visitor who actually arrived — not just tapped by accident.≤14 kr14–25>25
Tier 2 (small sample, directional only): GA4 sessions vs Meta's landing-page views (≥70% match = healthy; <50% = a tracking leak or a slow page) · GA4 engagement rate on the event page (<30% = the landing page is the leak, not the ads) · B2B cost per lead (≤400 kr green, >600 red) · orders via UTM (≥1 green; 0 is explicitly NOT disqualifying).  Tier 3 — ROAS / ticket sales: report it, do not decide on it.
The three verdicts

1 · SCALE

Tier 1 mostly green AND (≥1 consumer order OR ≥2 B2B leads).

The market responds and the funnel converts. Go to the scale ladder below. Recommend 75k SEK only if Mats confirms margin ≥25% — otherwise 30k as a second, larger validation.

2 · FIX & RETEST most likely

Tier 1 green (cheap CPM, strong CTR, healthy hook rate) BUT zero orders and weak engagement on the site.

This is not a failure. It says the ads work and the landing/checkout is the bottleneck — and we already have three suspects, all near-free to fix: the +25% VAT surprise at checkout; no pixel, so the ~250 warm visitors evaporate; and a Facebook page with 26 likes and no Instagram — zero social proof for a Swede checking we're real before spending 2,995 kr.

This is still the most valuable thing the budget buys: it turns "the campaign doesn't work" into "these three specific things are broken".

3 · KILL / RETHINK

CTR <0.7% across all four creatives AND CPM >150 kr.

The market isn't responding to this offer, at this price, in this window. Stop spending. Revisit the offer before touching the creative.

Whatever the verdict, the €5,000 leaves assets behind: ~441,000 impressions of Swedish brand exposure, a ~36,000-strong video-viewer audience, ~180–270 contest entries already segmented by fixture, package tier and group size, and — if the webmaster installs it — a seeded pixel. That list is the asset that outlives 8 August; the tickets do not.
Scale ladder — only if the verdict is SCALE (this is the v1 grid, preserved — it's still the right math)
30k SEK75k SEK150k SEK
Prospecting clicks~2 100~5 250~10 500
Consumer tickets (median)~33~82~164*
+ Corporate (lead ads)+15–40+30–60+60–120*
Total tickets — median~50–70~110–140~225–285*
Honest band40–100~100–180~180–350*
Cost per order~430–600~535–680~525–665
Clears break-even @25% margin✅ tight✅ tight
Clears break-even @15% margin
Hits the 200–300 ticket goal?255–275 = upside only✅ stock-capped
* At 150k the limiter is inventory, not demand — verify real remaining stock (D11) before choosing it. "300 places" is venue capacity, not stock on hand.
Operating rules at scale (unchanged from v1 — they're sound): kill a consumer ad at 48–72h if CPC > ~15 kr, CTR < ~1%, hook rate < ~25% or ThruPlay < ~10% vs the batch median; kill a lead ad if cost-per-lead > ~400 kr; scale winners +20–25% per 48h, never faster (a bigger jump resets Meta's learning phase). Cost per acquisition is measured per ORDER (~750–930 kr), never per ticket — read per-ticket (~290 kr) it would kill winning ads about 3× too fast. That was v1's single most important correction (D20).
02b

What actually stands in the way

The budget went up 16×. Not one of these four moved. All four are free. All four are Serava's to give. None of them can be bought with budget — which is why more money didn't get the campaign one day closer to the market. The ask is written and waiting to be sent: strategy/mats-ask.md.
BlockerStatusWhat happens without it
Serava's real margin per package
Asked 12 Jul · unanswered
❌ unknown Do not launch, at any budget. At 25% the median 4.8× clears — barely. At 20% it loses money. At 15% it cannot work at any budget in this window. One sentence answers it.
System User + token + ad-account ID + a payment method
Nothing exists today
❌ none Nothing publishes. Token by 21 Jul or Stockholm is abandoned (45% of the flight has no runway). 🔴 NO-LAUNCH DATE: 31 Jul. Each day of delay = €238 that cannot be spent — and the 21→24 Jul step alone costs ~23 tickets.
A WhatsApp number + a person to answer it ❌ none The conversation gate disappears and we fall back to Tier 1 + sales. Load, already capped: ~17 conversations/day, ~7 human escalations/day, ~1.1 h/day. Uncapped it would be 83/day at peak — half a full-time job Serava hasn't staffed.
Written permission to use the tickets as a contest prize
Serava is already running one
❌ unknown The contest isn't built. Football ticket T&Cs almost universally forbid using tickets as prizes without the issuer's written permission. If the issuer voids them, Serava cannot deliver the promised prize — a per-se infringement (Annex I §19 UCP / 10 § MFL).
Meta pixel 🟡 planned Treated as conditional upside, not a fact. Without it: only R1 and R4 exist — R2/R3 do not — and cost-per-acquisition can only be read at order level, never per ticket.
The VAT gate (D17) is a fifth constraint, but a different kind: it is Serava's own site defect, re-verified live on 16 Jul and unchanged — and more budget does not unlock it either.
The most expensive thing in this campaign isn't the media spend. It's the four days a question has gone unanswered that takes one sentence to answer. At €300, not knowing the margin cost €300. At €5,000 it costs €5,000 — and it still costs nothing to find out.
02c

The contest — a lead magnet, not a campaign

Mats suggested repeating Serava's contest, which reportedly converted 50% of visits into entries. We're building one — but not that one, and not for that number. Full design: strategy/contest.md.
Why we can't clone it

Its engine dies on 19 July. It runs "every week during the 2026 World Cup" — and the World Cup ends on the 19th. Our flight starts on the 21st. The mechanic expires two days before we could use it.

The 50% doesn't transfer

It came from warm traffic — Scand Sports customers and a football-media audience — into a form that asks for a 150-word slogan. Cold Meta traffic will not convert like that. It's the number to challenge, not inherit.

Two pages, two different contests

The landing sells "match-tipping" with a leaderboard and an Old Trafford grand prize; the actual form asks for a jury-judged slogan and never mentions Old Trafford. That's a 10 § MFL defect on Serava's own site — reported to them, not repeated by us.

Our design — "Bygg din drömmatchdag" (Build your dream matchday). Neither a slogan (150 words of friction, and boring) nor tipping (predicting results is vadhållning — the fastest way to trip Meta's gambling classifier on a brand-new ad account). Instead: a three-tap configurator — pick your fixture, pick your lounge, pick who's coming — then a free draw. Every tap is a qualifying field: fixture, tier and group size are exactly the three facts that define the sale. An entrant isn't a lead; they're a lead who configured the product themselves.
The money is in the losers, not the winner. 99.9% of entrants don't win — and each one gets their own configuration back, bookable. That's the core offer, personalised, delivered to someone who already told us what they want and how many they're bringing. The prize is Stockholm (1 Aug); the consolation sells Göteborg (8 Aug), with nine days to do it. "Win Stockholm, or we'll see you in Göteborg."

Free entry is what makes it legal — with no stake, it falls outside Sweden's gambling act entirely (and the prize stays tax-free for the winner). Nothing may ever give buyers extra chances. And the contest ads run in phase 2, never phase 1: the scarcest asset here is an ad account that doesn't exist yet, and you don't hand your riskiest creative to a brand-new account.
02d

The funnel, as it stands now

The old map was written on 11 July and never knew about two of these arms. Three things changed with the budget: retargeting came back from the dead, the WhatsApp arm got capped, and the contest became a lead magnet. Numbers are the median cell (0.6% conversion · 2.6 tickets/order) — the one that rules the reading. Full map: strategy/funnel.md.
COLDMeta ad

Arm L → the Serava event page

The default. Ad → event page → card or invoice checkout. Price-free creative only — the VAT gate holds by construction, because nothing in the live set carries a price.

~62 tickets

Arm W → WhatsApp capped

Ad → wa.me deep link with a token in the pre-fill. Capped at ~6,000 kr ≈ 300 conversations, not 50% of the track: the sample you need is fixed, the human load is linear. 990 conversations answers nothing that 300 doesn't — it just costs half a full-time job Serava hasn't staffed.

~300 conversations

Contest → "Bygg din drömmatchdag" F2 only

Three taps: fixture → package → group size. Every tap is a qualifying field. Free entry, so it sits outside the gambling act entirely. Enters 25 Jul — never in phase 1, because you don't hand your riskiest creative to a brand-new ad account.

~180–270 entries (assumed)

B2B → Instant Form reclassified

Lives on Meta — no website, no pixel needed. No longer forecast as orders: ~8 leads/week against the 50 Meta needs to exit learning, and a 3-business-day closing window. Its real output is a qualified list.

~23 leads → ~1.4 orders
WARMRetargeting

R1 · Video viewers ≥50% back from the dead

Native to Meta — works without a pixel. At €300 this pool only ever reached ~2,200 people and was never usable in time, which is exactly why v2 dropped it. At €5,000 it hits ~36,000 in four days at frequency 2.2, and earns 5.3× against prospecting's 4.2×. The argument changed, so the decision changed.

~22 tickets · 5.3×

R5 · The contest list new

Ours, not Meta's. No pixel, no matching, and pre-segmented by fixture, tier and group size — because the entrant configured it themselves. The only ring that grows without spending on it.

~180–270 people

R2 · Page visitors  ·  R3 · Checkout abandons

These do not exist. Both need a pixel. Planned, not installed — treated as conditional upside, never as a fact.

R4 · Unclosed B2B leads

Folds into R1. At ~23 leads it sits below Meta's ~100-person delivery floor. Note the direction: 16× the budget made R4 worse, not better — B2B only takes 10%, and its cost per lead doesn't fall.

CLOSE2–8 Aug

Consolation → Göteborg

The draw is 30 Jul for the Stockholm match. Every non-winner — 99.9% of them — gets their own configuration back, bookable, pointed at Göteborg on 8 Aug. Nine days to sell it. "Win Stockholm, or we'll see you in Göteborg."

~6–13 orders (assumed)
The asset that outlives 8 August isn't the tickets — it's the list. ~180–270 self-identified United fans in Sweden, each one already segmented by fixture, tier and group size. That's what you need to sell the 26/27 season without paying for reach twice. It only exists legally if the contest opt-in and the marketing opt-in are separate boxes, neither pre-ticked — a contest entrant has bought nothing, so the soft opt-in doesn't apply. Get that wrong and the list is good for the draw and nothing else.
🔻 Superseded by the 26 July calendar. This roadmap starts on 21 July and never happened — nothing launched. The live calendar is in §00d: 26 July → 8 August, with day-by-day spend. Its central argument survives and got sharper: the reason it demanded a 21 July start was to be out of the learning phase when the 24 July payday landed. That payday is now spent, and the next one is 25 August — after both matches.
02e

The roadmap — 19 days, not 3 weeks superseded

The three weeks don't exist. A 21-day flight closing on 8 Aug had to start on 19 July, and there's no token. The real maximum is 19 days — and only if the token lands now. Everything below is conditional on that.
F0 · PROVISIONING
F1 · LEARNING
F2 · SCALE
F3 · GÖTEBORG CLOSE
16–20 Jul5 days · €0
blocked
21–24 Jul4 days · €250/day
60/40 · RT 0%
24 JulSwedish payday
learning must be done
25 Jul–1 Aug8 days · €313/day
50/50 → 70/30
1 AugStockholm
MU–Atlético
2–8 Aug7 days · €214/day
100% Göteborg
8 AugGöteborg
MU–PSG
Why these dates, and not the obvious ones
21 Jul
Live on the 21st, not the 24th. The old plan aimed at Swedish payday on the 24th. That's a mistake at this budget: the learning phase has to be finished when payday lands, not starting. Otherwise you spend the one day of peak intent on badly optimised delivery.
F1
Retargeting spends nothing in phase 1. The pool doesn't exist on day one — it's built out of prospecting's impressions. After four days it's ~8–9k people; that's when it becomes targetable.
2 Aug
B2B stays at 10% until August. Swedish corporate is on industrisemester until the 2nd. Spending on B2B before then is spending into an empty inbox.
1 Aug
Stockholm goes to 70/30 for its last two days, then the flight is 100% Göteborg. The split isn't geographic — it's temporal. The campaign migrates.
The deadlines that decide whether any of it happens
21 Jul
Token, or Stockholm is abandoned. 45% of the flight loses its runway. An ad set needs ~4 days of learning + ~3 of useful scale before spend buys sales instead of just education.
28 Jul
Token, or Göteborg is learning-only — it never reaches the seven days it needs either.
31 Jul
🔴 NO-LAUNCH DATE. Past this, the flight cannot pay for its own learning phase. Don't launch — at any budget. The assets don't expire; the fixtures do.
cost
€238/day nominal — but the damage is stepped, not linear. The 21→24 Jul step alone costs ~23 tickets and strands ~€1,500 with nowhere useful to go. Pushing it into Göteborg doesn't recover it: you over-serve a pool that's already served, frequency climbs, and marginal ROAS falls. Money you can't spend well isn't money saved — it's proof the flight arrived late.
What's ready right now, today: 42 price-free ads · 31 videos (13 of them full ads with real Swedish voice) · 14 new creatives for the gaps this rescale opened · a media plan, an offer, a funnel and a contest design. All of it staged, none of it published — because the four things standing in the way are all Serava's, all free, and none of them can be bought with budget. See §02b.
03

Concepts — 6 (2 resale UGC pulled)

Selected from 24 candidates (3 director personas → draft-viz → 4 judges → red-team). Coverage matrix beat raw score: {Sthlm, Gbg} × {prospecting, retargeting, urgency} + B2B + Norway. Score = mean of 4 judges / 25.

v2 note — two UGC concepts pulled (18 Jul): UGC-1 (rant) and UGC-4 (hold-and-show) held up a phone whose screen the model rendered blank — and both attacked the resale market, which the pivot retired (Serava now sells via StubHub/Viagogo, so we can't attack second-hand). Files kept; not shown. The remaining resale-framed art (DR-1, the "samma peng" caption on UGC-2) is being re-captioned for volume, not deleted. The new creative direction is the ★ Emotion hook stills — people, not empty rooms.
03b

Creative dossier — one card per asset

Every new creative, with the reasoning attached to it: the hook, the mechanism that makes the hook work, what we expect it to do and the number that says it did, the signal that says it failed, the copy that runs with it, and the exact prompt that produced it. Nothing here is decoration — an asset whose expected metric is not written down cannot be killed on evidence, only on taste. Open Generation prompt on any card to see what the model was actually asked for; open Compliance to see which guardrails it had to clear.
These nine exist because the 26 July re-cross made the old inventory the wrong inventory. The 51 statics and 31 videos already on the shelf were built for a Stockholm GA volume push, anchored on scarcity. There is no GA product (F1), and scarcity is unprovable — sixteen days, zero movement (F2). So these seven attack what the re-cross actually needs: Göteborg, which is where the money now goes; the occasion instead of the shortage; the premium tier, which is where the margin is; and the invoice path, which is the only track that can carry a price this week.
One asset was designed, generated, and then killed — and the kill is the useful part. A concept called "Det är jag som svarar" put a warm, direct-to-camera portrait behind the offer, to answer the real objection on a Page with 26 likes: not do I want this but is this a scam. The image is good. The headline was not lawful: an AI-generated person saying "I'm the one who answers when you book" is a fabricated identity claim about a customer-service commitment nobody made — a misrepresentation under the Swedish Marketing Act, not a stylistic quibble. The adversarial review caught it before spend. The underlying need is real and stays on the list; it gets answered with a named, consenting, actual human, or with verifiable company facts, not with a generated face. The still is kept below, unpublished, as the record of the call.
★ NEW — the first HyperFrames motion ad (v2). The three reels at the top are rendered 1080×1920 Reels built from the emotion stills — a slow push-in, an animated Swedish headline, and a CTA. Three angles to A/B test: "Säkra din plats" (seat/scarcity), "Var där" (the moment), "15 000 platser" (volume/urgency) — motion, because a static image loses to a moving one on autoplay-muted Reels. This is the format upgrade on top of the new emotion stills. Play it.
05

Video Gallery · 3 motion ads + 29 finals + 11 full ads

Poster frames of the 31 finished clips, plus the 13 full ads built on top of them (44 tiles). 27 are polished cinematic (Veo 3.1); the 4 marked UGC are new — shot to look filmed on a phone by a real fan (Seedance 2.0, via Higgsfield Marketing Studio). Until D31 the campaign had zero UGC: the only such clip ever made was rejected in QC for a club crest on a scarf, and its platform then ran out of money. That gap mattered — on Reels and Stories, native UGC routinely out-performs cinematic on hook rate, so the test can now compare UGC against cinematic, not just concept against concept. Click any clip to play it full-size, with sound. The 13 marked ★ FULL AD are the finished article — hook in the first 2 seconds, burned-in captions, CTA end card. They exist because of two problems the raw clips have: (1) autoplay on Reels is MUTED, so a clip carrying its message only in audio has no hook and functionally does not exist; and (2) the video model's Swedish speech was garbage — it rendered "Lördag den åttonde augusti" as "Lord of the Nalternagos". Nobody caught it because QC was visual and no one ever listened. The fix: never let the video model speak a non-English language — dub it with a real voice (ElevenLabs) and caption from the written script. Every image opens full-size too, and both can be downloaded from the viewer.
06

Copy Browser

The hook, headlines and call-to-action for each concept, pulled from the ad-copy libraries. Every Swedish and Norwegian line carries an English translation underneath. GATE-D17 = a price-bearing variant, held until Serava fixes the VAT checkout; each one has a price-free sibling that is ready to ship.
Svenska (Swedish)
Norsk bokmål (Norwegian) / English
07

Costs & QC

Two different budgets — do not add them together. The table below is the metered generation API spend ($21.78 against a $100 cap): every image and video we bought from OpenAI, Google and fal.ai. It is one line item inside the ~€185 of total production cost (the rest being LLM tokens and platform subscriptions). The €5,000 media budget is separate and is covered in the Media Plan.
$25.23
Metered generation API
Of a $100 cap — $74.77 still unspent. The line-itemised table below.
~$178
LLM tokens + platforms
Estimated. Not metered per-batch.
~€185
= Total production
Bought 51 ads + 31 videos + 13 full ads. A permanent asset.
€5,000
Media budget (separate)
56,500 SEK over 19 days. Never add this to production.
36 / 26
Gate 1 images · PASS / selects
25 / 27
Gate 2 video · PASS / finals
66 → 51
Images generated → finished
39 → 31
Videos generated → finals
The generation platform account was reconnected on 27 July — to the right business. The command-line tool was still signed in to a different company in the network; spending there would have billed this client's creative to that other business. It was signed out, re-authenticated, and the identity was confirmed before a single credit moved. 190 of its credits were then spent, on a separate balance that does not touch the $100 cap — and both outputs are documented in the dossier, including the one that was rejected. The rejection is the more valuable of the two: the platform's packaged ad mode builds every video around a spokesperson, and a generated spokesperson is exactly what the legal review had already ruled out for this account.
Spend ledger — cap $100 · soft stop $70 · hard stop $90
DateBatchModel / tierTypeEst $Actual $Cum $Headroom $
07-10preflight (3 clients)dry-run smokeDRY-RUN0.000.000.00100.00
07-10tournament-drafts (24 img)gpt-image-2 low 1024²LIVE0.1440.1440.14499.86
07-11images-gpt-production (31/31)gpt-image-2 high/medLIVE2.6792.6792.82397.18
07-11images-nano-keyvisuals (9/9)gemini-3-pro-image 4KLIVE2.162.164.98395.02
07-11veo-b1-fast (12/12, 8s 720p)veo-3.1-fastLIVE3.003.007.98392.02
07-11veo-b1-regen ×3veo-3.1-fastLIVE0.750.758.73391.27
07-11veo-b2-hero (8/8, 8s 1080p)veo-3.1-generateLIVE6.006.0014.73385.27
07-11seedance ugc1-rant (15s)seedance-2.0 falLIVE3.333.3318.06381.94
07-11seedance ugc4+dr6+6 animatesseedance-2.0 falBLOCKED19.970.0018.06381.94
07-11veo-b3-backfill (8/8, 720p 9:16)veo-3.1-fastLIVE2.002.0020.06379.94
07-11images-gpt-regen ×2 (dr1 de-alcohol)gpt-image-2 high+medLIVE0.2180.21820.28179.72
07-11veo-hero-regen ×2 (QC Gate2)veo-3.1-generateLIVE1.501.5021.78178.22
07-26images-f11-recross (7/7) ★ re-crossgpt-image-2 highLIVE1.2011.20122.98277.02
07-27veo-f11-recross (2/2, 8s 1080p 9:16) ★ re-crossveo-3.1-generateLIVE1.501.5024.48275.52
07-27veo-f11-new5-regen (1/1) two-shot lockedveo-3.1-generateLIVE0.750.7525.23274.77
Typographic overlays & stitching = local ($0). The re-cross batch cost $2.70 and needed zero regenerations — seven stills cleared visual QC first time and both videos cleared compliance first time, because the automated check ran before the spend and the one real finding (a negation that invites the very object it forbids) was rewritten before a credit was bought. The thirteen daily countdown plates come from one generation: the numeral is composited locally, so refreshing it costs nothing.
What each platform actually produced
  • 27 of the 31 videos = Veo 3.1 (Google); the 4 UGC clips = Seedance 2.0 via Higgsfield Marketing Studio (Futurmotion account). All 51 static ads = GPT Image 2 (OpenAI) + Nano Banana Pro (Google Gemini 3 Pro Image). The 13 full ads add a real Swedish voice (ElevenLabs) over the top.
  • fal.ai / Seedance — blocked, and nothing survived (D23). The wallet ran out mid-run ("User is locked"). Topping it up is a financial operation requiring sign-off, so it wasn't done. Exactly one Seedance clip was ever produced ($3.33) — and it was then rejected in QC for a heraldic lion crest on a scarf (an IP violation). Zero Seedance content shipped. The gap was backfilled with vertical Veo clips.
  • Higgsfield — now unblocked (D30). The earlier "never authenticated" result was a wrong-path problem, not a credentials problem: the previous session spent ~2h on a command-line device-login that is broken on Windows. Higgsfield is reached through its MCP connector instead, on a Futurmotion-owned account (Lixtto's account must never bill this tenant). This matters because Higgsfield Marketing Studio runs Seedance 2.0 — the very model that died with fal.ai — so the missing UGC track is regenerable without touching fal.
  • The UGC gap is closed (D31). It was the biggest creative hole: on Reels and Stories, native UGC routinely out-performs polished cinematic on hook rate. Four UGC clips now exist, regenerated on Higgsfield without topping up a dead wallet.
  • Overlay rule (D22) — every price, date and call-to-action is composited onto a clean image afterwards, never rendered by the model. (In an early draft the model turned "2 995" into "29 95".) This also guarantees the Swedish characters å/ä/ö are correct.
08

Key Decisions · D1–D66

The load-bearing calls from the build log — the ones a stakeholder needs in order to understand what this campaign will and won't do. The four marked ★ are from the 26 July re-cross and they supersede parts of what follows; the rest are conserved because the reasoning still holds even where the target moved.
★ D67 26 Jul
There is no GA product to sell
The campaign's stated objective — sell through 15,000 general-admission tickets at 800 kr — has no corresponding product on Serava's site. Verified against the complete catalogue today: every event is hospitality, floor 1,995 SEK. GA is Ticketmaster's, reached through partner landers with a promo code. Consequence: paid media pointed at GA spends our euros for someone else's margin, with no attribution and no retargeting pool. The objective is re-based onto the product that has a checkout.
★ D68 26 Jul
Göteborg is the target; Stockholm is worked without paid media
Stockholm is six days out with no ad account; a brand-new account is capped by its own spending limit and cannot exit the learning phase in five days. Göteborg is thirteen days out, has its own checkout and its own margin — and falls in the first week Sweden is back from holiday. Same €5,000, re-phased. Stockholm gets the engines that cost no media and are already live: the partner landers, the running contest, direct B2B on the invoice path.
★ D69 26 Jul
One line of billing config is worth more than the media budget
With the checkout charging the listed price, the forecast is 5.18× and clears break-even at a 20% margin. Without it, the standing −25% conversion haircut applies and it is 3.89× — a loss. The gap is ~€4,800, larger than the entire paid budget. It has been pending since 7 June. Therefore the scale budget is not released until the fix is verified live. Verifying costs thirty seconds.
★ D70 26 Jul
Scarcity is the wrong register — and "closes 31 July" is now a liability
Sixteen days, zero movement on any package. The risk is not that it sells out before we arrive; it is that it does not move at all. So the creative job changes from "claim it before it's gone" to "here is a reason to be there." And the drafted deadline copy cannot ship: the site publishes no sales close and still sells — publishing one we cannot honour is the same defect class we reported to Serava. Urgency anchors on the match date, which anyone can verify.
D28 → D36
€300 bought information; €5,000 buys a verdict
D28 held that €300 could not judge sales — 0–3 orders is too small a sample to tell a working funnel from a broken one — so the gate went on CPM, CTR and hook rate. That reasoning was right, and it is not overturned: it is outgrown. At €5,000 orders reach n=32 and sales rise to a gate (D36) — but only if Serava matches orders to UTM at ≥70%. In the low-conversion cell (n=15), D28 still holds at any budget in this range.
D29 refuted
"Live on Meta" — this was false
D29 claimed the creative was uploaded and running. It is not, and never was. The Page's Ad Library shows zero ads ever run, and no ad account exists (D45). This page repeated the claim in nine places; corrected 16 Jul. The D17 VAT gate does hold — but through physical quarantine, not because anything is live.
D30 corrected
The tool was never broken — and the account still isn't ours
An earlier session lost ~2h and shipped the campaign without one of the generation platforms, recording it as "the command-line tool is broken on Windows". It never was. It was a one-line path-ordering bug in the installer; with the fix it installs cleanly, and the command line is the primary route. The lesson is the durable part: do not inherit a diagnosis, reproduce it.

Re-checked 26 July and still true: the credentials on this machine belong to a different business in the network. Using them would bill this client's work to that other business. The tooling refuses to fall back to another peer's credentials — so this track stays parked until its own account is authorised, exactly as designed. Nothing in the campaign depends on it.
D31 done
The missing UGC track — filled
The campaign had zero user-generated-style creative: the only Seedance clip ever made was rejected in QC for an IP violation, and fal.ai then died. Higgsfield Marketing Studio runs the same Seedance 2.0 model, so the dropped concepts were regenerated on the Futurmotion account — without topping up a dead wallet (a top-up is a financial operation and needs sign-off). 225 credits, 4 UGC clips.
D17
VAT = launch gate
Price-bearing consumer ads do not run until Serava fixes the card checkout (which adds +25% on top of the advertised price) or the copy quotes the real total ("från 2 494 kr"). This is lockpris — bait-pricing — exposure under the Swedish Price Information Act. It's a legal gate, not just a conversion haircut.
D20 · Ruling B
"Plan B" (no pixel) is the base case
The site has no Meta pixel and no Google Tag Manager — only GA4. So we launch on traffic + lead forms, tracked by UTM tags alone. Consequence: Meta cannot optimize toward buyers, and no ROAS is reportable. Installing the pixel is the cheapest available upgrade.
D8 → D44
The margin is still the P0 unknown — and now it costs 16× more to skip
The budget question is answered (€5,000). The margin question is not. We assume 15–25%, unverified. At the median, 4.8× clears a 25% margin barely, loses money at 20%, and cannot work at 15% at any budget. Analysis recommended €3,000 firm + €2,000 in reserve — ROAS is invariant to budget, so the extra €2,000 buys no new answer, only revenue on an unverified margin. Mariano chose €5,000 all-in; the trade is logged, not re-argued.
D7
Zero Manchester United IP
No crests, player faces, sponsors or minors. Generic red kits, silhouettes and stadium atmosphere are fine. Enforced by an automated check before any money is spent — and it caught a real violation: a Seedance clip was killed for a heraldic lion crest on a scarf.
D16
The resale anchor is Göteborg-only
Stockholm resale starts below Serava's own floor price, so a resale comparison there would be misleading — an offence under the Swedish Marketing Act. Stockholm anchors on the 2025 sellout instead.
D18
Alcohol rules
The word obegränsad ("unlimited") is deleted everywhere; no alcohol is enumerated in any ad; all drinks-adjacent ads target 25+; Family Suite copy is 100% alcohol-free.
D22
Text is composited, never generated
All prices, dates and calls-to-action are overlaid onto clean images afterwards. The #1 production risk flagged by all four judges — image models mangle text and Swedish diacritics.
D13
Never say "official"
Serava's status relative to the promoter and to Manchester United isn't established, and a takedown would kill the campaign. Only verifiable claims are used: confirmed allocation, invoice option, 300 places, Swedish registered company.
09

Compliance Caveats

Gate 3 — the copy review (native Swedish reader + fact-check against the verified catalogue) — returned 0 violations across Swedish, English and Norwegian bokmål. Gate 4 was the final adversarial pass: three "red team" reviewers arguing against us.
Gate 4 red team — verdict: CONDITIONAL GO

Three adversarial seats: a Manchester United lawyer, a Meta policy reviewer, and a Swedish consumer + the Konsumentverket (the Swedish Consumer Agency). Confirmed solid: zero visual IP (no crests, kits, players, or the word "official") across every ad and video poster; alcohol discipline impeccable; Swedish and bokmål idiomatic with correct diacritics. Full detail: qc/redteam-gate4.md.

Ready to ship: the 42 price-free images + the invoice/B2B track + all 31 videos (13 of them full ads). Ready ≠ running: nothing is published — there is no ad account yet.

Held back: the 9 price-bearing images are quarantined on disk (final/_GATED-HOLD/) until Serava fixes the VAT checkout, or the ads are re-composited with the real card total. Every one has a price-free twin that ships today.

Re-verified live, 16 Jul 20:37 UTC (checkout walked, no order placed): Family Suite listed at 2 995 SEK "Ink. moms" → checkout adds Moms (25%) 748,75Totalt (inkl moms) 3 743,75 SEK, with the note "25% moms tillkommer på kortbetalningar." Six days on, unchanged. More budget does not unlock this gate.

Must-fix items — both resolved: (1) the price-bearing set was physically quarantined with a do-not-publish README; (2) the video QC ledger was reconciled against the re-generated hero clips that were actually promoted.
Should-fix before scaling — three open items: (1) add the disclaimer "återförsäljare oberoende — ej officiell partner" ("independent reseller — not an official partner"): the campaign avoids claiming "official", but doesn't yet affirmatively deny it. (2) Save a dated screenshot of the resale listings that back the andrahand price anchor — under the Swedish Marketing Act §18 the burden of proof for a comparative claim is on us — and soften the phrase "PÅ RIKTIGT" ("for real"). (3) The stadiums in the creative are generic silhouettes, not the real Ullevi — so trust signals must carry more weight, especially for a Facebook page with only 26 likes.
10

Glossary

Every acronym, abbreviation and Swedish term used anywhere on this page — nothing on this dashboard should require outside knowledge to read.
Advertising metrics
CPM — Cost Per MilleWhat it costs to show an ad to 1,000 people. The basic price of attention.
CTR — Click-Through RateOf the people who saw the ad, the % who clicked. The clearest measure of whether the creative works.
CPC — Cost Per ClickWhat one click to the website costs.
CPA — Cost Per AcquisitionWhat one order costs. We deliberately measure per order, not per ticket — see D20.
CPL — Cost Per LeadWhat one B2B form submission costs.
CVR — Conversion RateOf the people who clicked, the % who bought.
ROAS — Return On Ad SpendRevenue ÷ ad spend. Break-even ROAS = 1 ÷ profit margin — so at a 20% margin you need 5× just to stand still.
LPV — Landing Page ViewA visitor who actually arrived on the site. Stricter than a click: it excludes accidental taps and people who left before the page loaded.
Hook rate3-second video views ÷ impressions. Does the opening stop the scroll? The single best early signal a video has.
ThruPlayMeta's term for a video watched to 15 seconds, or to the end if shorter.
Party sizeTickets per order. Nobody buys one football ticket — we assume 2.0–3.2.
Learning phaseMeta's initial optimisation period for a new ad set. Raising a budget more than ~25% at once resets it, which wastes money.
Pixel / CAPIMeta's tracking tag on a website / its server-side equivalent (Conversions API). Neither is installed on Serava's site — which is why we're in "Plan B".
"Plan B"Our measurement mode with no pixel: UTM tags + GA4 + Meta's own on-platform numbers. It means Meta cannot optimise toward buyers and no ROAS is reportable.
UTMTags added to a link so analytics can tell where a visitor came from. Without a pixel, this is our only attribution.
Instant FormA lead form that opens inside Facebook/Instagram. Needs no website and no pixel — which is why the B2B arm still works.
P0"Priority zero" — a blocking input we don't have. Here: Serava's real profit margin.
Prospecting / RetargetingAdvertising to people who've never heard of you / re-advertising to people who already visited.
Swedish & Norwegian terms
från 1 995 kr"from 1,995 kronor" (≈ €176). kr = Swedish krona. We always write "kr", never "SEK", in consumer copy.
andrahand"second-hand" — the ticket resale market. The basis of our Göteborg price anchor.
biljetthajLiterally "ticket shark" — a scalper. Used carefully, and only on Göteborg creative.
ståplatsA standing place / terrace ticket — the cheapest kind, and what our resale comparison is against.
faktura"Invoice". The B2B payment path — companies pay on invoice, not by card.
industrisemesterThe Swedish industrial holiday: much of the country takes July off. Stockholm's match falls on its last weekend — which is why that timing is a selling point.
prisinformationslagenThe Swedish Price Information Act (2004:347). It governs how prices must be advertised.
lockpris"Bait price" — advertising a price that isn't what the customer actually pays. Illegal in Sweden, and precisely what the +25% VAT surprise at checkout would make us guilty of. This is why 9 ads are held.
MFLMarknadsföringslagen — the Swedish Marketing Act. §18 puts the burden of proof for comparative price claims on the advertiser.
KonsumentverketThe Swedish Consumer Agency — the regulator that enforces the two laws above.
obegränsad"Unlimited". Banned from all our copy — using it about drinks breaches Swedish alcohol marketing rules (D18).
bokmålOne of Norway's two written standards. Our Norwegian ads are written in it, because it converts better in Norway than English.
lör / sön / mån · avspark · dörrarSat / Sun / Mon · kick-off · doors (open).
45 345The attendance at United's Stockholm match in summer 2025. It's the Stockholm price anchor — proof the demand is real.
Our internal codes
D1 … D33Numbered decisions in the build log. Each one records a call we made and why, so it can be challenged later.
GATE-D17 / gate / cleanA gate ad shows a price and is held until the VAT checkout is fixed. Its clean twin has no price and is ready to ship. Every gated ad has a clean twin.
Gate 1–4Our four quality checks: images → video → automated lint → adversarial red-team review.
DR / ES / UGCConcept families: Direct Response (buy now) · Emotional Story · User-Generated Content (looks filmed on a phone by a real fan).
KV — key visualThe hero image of a concept — the one everything else is derived from.
4:5 · 9:16 · 1:1 · 16:9Image shapes. 9:16 = full-screen vertical (Reels/Stories) · 4:5 = tall feed post · 1:1 = square · 16:9 = widescreen.
Hero 1080p / Fast 720p / Vert 9:16Video tiers: highest quality with audio · cheaper/faster · vertical for Reels and Stories.
DoD — Definition of DoneThe 14 criteria this campaign had to satisfy before being called finished. All 14 passed.
Matrix PeerA separate business entity in our network (Futurmotion, Lixtto, …). Each has its own platform accounts and billing — never shared. See D30.
×
Download original ↓