Paid Ads
Spend, cost per registrant, cost per booked call and ROAS — read from AD SPEND, which the hourly ClickMagick sync fills. Showing 1–30 Sept.
1–30 Sept
Ad spend$17,891506 spend rows across 30 days
Cost per registrant$46.23387 registrants
Cost per booked call$416.0643 booked
Cost per close$1,27814 closed
ROAS (cash)2.15x$38,450 collected
Clicks17,790$1.01 per click
Paid live attendees13434.6% paid show rate of 387 paid registrants
Cost per paid live attendee$133.51134 attended live
Completed applications39from paid-attributed registrants
Cost per application$458.7439 completed
Click → registration2.2%387 paid registrations of 17,790 tracked paid clicks
Registrants
387
Calls booked
43
Closed
14
Cash
$38,450
ROAS on contracted
3.73x
CPM
$13.01
Link CTR
1.29%
Spend by day
last 30 recorded days| Ad | Spend | Clicks | Regs | CPL | Paid attendees | Paid show rate | Apps | Cost / app | Booked | Cost / call | Closed | Cash | ROAS |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| vid-profit-breakdown-ugc-v1paid | $3,442 | 3,329 | 89 | $38.67 | 33 | 39.8% | 14 | $245.85 | 12 | $286.82 | 7 | $18,800 | 5.46x |
| vid-garage-sale-haul-v3paid | $3,271 | 3,430 | 74 | $44.20 | 21 | 28.8% | 8 | $408.88 | 6 | $545.18 | 0 | $0.00 | 0.00x |
| img-thrift-before-after-v1paid | $2,628 | 2,707 | 65 | $40.43 | 14 | 21.9% | 1 | $2,628 | 1 | $2,628 | 1 | $1,600 | 0.61x |
| vid-founder-story-v2paid | $2,188 | 2,204 | 65 | $33.67 | 30 | 46.9% | 5 | $437.65 | 3 | $729.42 | 0 | $0.00 | 0.00x |
| vid-workshop-reminder-v1paid | $1,624 | 1,636 | 32 | $50.75 | 12 | 37.5% | 4 | $406.02 | 3 | $541.36 | 2 | $11,000 | 6.77x |
| vid-vsl-cutdown-90s-v1paid | $1,567 | 1,434 | 0 | — | — | — | 0 | — | 6 | $261.24 | 1 | $1,650 | 1.05x |
| vid-testimonial-stack-v2paid | $1,017 | 1,047 | 25 | $40.69 | 12 | 50.0% | 4 | $254.32 | 4 | $254.32 | 1 | $2,400 | 2.36x |
| vid-qa-clip-v1paid | $935.24 | 924 | 20 | $46.76 | 8 | 40.0% | 0 | — | 1 | $935.24 | 0 | $0.00 | 0.00x |
| vid-pallet-unboxing-v2paid | $930.79 | 915 | 0 | — | — | — | 0 | — | 2 | $465.40 | 1 | $2,250 | 2.42x |
| text-rsa-brand-v1paid | $286.60 | 164 | 0 | — | — | — | 0 | — | 3 | $95.53 | 1 | $750.00 | 2.62x |
| text-weekly-wins-v1paid | — | — | 17 | — | 4 | 26.7% | 3 | — | 2 | — | 0 | $0.00 | — |
Closes
18 of 43 calls here came from people who never registered for a webinar| Call | Ad | Campaign | Route | Cash | Contracted |
|---|---|---|---|---|---|
| 28 Sept | vid-pallet-unboxing-v2 Meta Ads · paid | vsl-cold-202607 | Direct / application | $2,250 | $2,250 |
| 25 Sept | vid-profit-breakdown-ugc-v1 Meta Ads · paid | webinar-cold-202606 | Webinar | $2,750 | $5,500 |
| 24 Sept | vid-profit-breakdown-ugc-v1 Meta Ads · paid | webinar-cold-202606 | Webinar | $900.00 | $3,000 |
| 23 Sept | vid-workshop-reminder-v1 Meta Ads · paid | webinar-retarget-202608 | Webinar | $5,500 | $5,500 |
| 21 Sept | vid-vsl-cutdown-90s-v1 Meta Ads · paid | vsl-cold-202607 | Direct / application | $1,650 | $5,500 |
| 17 Sept | vid-workshop-reminder-v1 Meta Ads · paid | webinar-retarget-202608 | Direct / application | $5,500 | $5,500 |
| 17 Sept | vid-profit-breakdown-ugc-v1 Meta Ads · paid | webinar-cold-202606 | Webinar | $1,650 | $5,500 |
| 16 Sept | vid-testimonial-stack-v2 Meta Ads · paid | webinar-retarget-202608 | Webinar | $2,400 | $2,400 |
| 16 Sept | vid-profit-breakdown-ugc-v1 Meta Ads · paid | webinar-cold-202606 | Webinar | $2,500 | $4,950 |
| 16 Sept | img-thrift-before-after-v1 Meta Ads · paid | webinar-cold-202606 | Direct / application | $1,600 | $5,250 |
| 14 Sept | vid-profit-breakdown-ugc-v1 Meta Ads · paid | webinar-cold-202606 | Webinar | $0.00 | $4,950 |
| 12 Sept | vid-profit-breakdown-ugc-v1 Meta Ads · paid | webinar-cold-202606 | Webinar | $5,500 | $5,500 |
| 09 Sept | vid-profit-breakdown-ugc-v1 Meta Ads · paid | webinar-cold-202606 | Webinar | $5,500 | $5,500 |
| 08 Sept | text-rsa-brand-v1 Google Ads · paid | vsl-warm-202606 | Direct / application | $750.00 | $5,500 |
Keeping every ad tracked — the UTM rule
Set once at the campaign level in Meta, never per adEvery ad’s destination URL should carry Meta’s dynamic URL parameters, so new ads are tracked automatically without anyone typing UTMs by hand. In Ads Manager, at the ad level under Tracking → URL parameters, paste:
utm_source=fb&utm_medium={{placement}}&utm_campaign={{campaign.name}}&utm_content={{ad.name}}&utm_term={{adset.name}}Meta fills the placeholders per impression, so the campaign, ad set, ad and placement arrive on every click — matching the naming ClickMagick already sees. Duplicated ads inherit it; nothing to retype, nothing to misspell.
How these numbers are made. Spend comes from ClickMagick, one day at a time, into the AD SPEND table. Each day’s per-ad rows are reconciled against ClickMagick’s own total for that day, and any difference is written as a single unattributed row — so the ads on this page always sum to what the day actually cost, and spend on clicks carrying no
utm_content can never quietly vanish and flatter ROAS. ClickMagick flattens UTM separators to +, so ad names are matched back onto the spelling the registrations carry; without that, one ad would appear twice — once with the spend and once with the leads. A day is written whole or not at all: if the read is rate-limited part way through, nothing is written and the day is retried, because half a day recorded as a full one reads as a cheap day. A day with no row is therefore a day ClickMagick reported no cost, not a day that failed. Registrants, bookings, closes and cash are attributed from the registration rather than the booking, exactly as in the Webinar Command Centre — the two pages compute from the same code and cannot disagree. The window is a cohort window, not a cash window: it selects the spend made in the period and the people that spend bought, then follows those people to whatever they closed later. A lead who registered on the 3rd and pays next month counts here, against the spend that produced them — which is why cost per lead and cost per call are exact while ROAS lags, rather than dividing this month's spend by last month's leads. Bookings from people who never registered for a webinar are counted too, attributed from their own lead record; about half of all sales calls arrive that way, and they are marked "Direct / application" in the closes table. Because those people never registered, the registration-to-booking rate is withheld whenever any of them are in scope rather than printed as a rate over a population that does not contain them. Finally, one person often holds two lead records — they register with one email and book with another — so a booking with no registration is matched back to one by phone number, and only when that number belongs to exactly one registered person. Names are never matched on: the candidates are mostly bare first names, and a wrong identity join moves somebody else's cash onto an ad that did not earn it.