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.

Spend recorded through 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
01 Sept
$566.45540 clicks
02 Sept
$603.71584 clicks
03 Sept
$620.28673 clicks
04 Sept
$613.60566 clicks
05 Sept
$530.31515 clicks
06 Sept
$580.49571 clicks
07 Sept
$591.95531 clicks
08 Sept
$628.87575 clicks
09 Sept
$589.91599 clicks
10 Sept
$589.17700 clicks
11 Sept
$585.47532 clicks
12 Sept
$570.18530 clicks
13 Sept
$600.59611 clicks
14 Sept
$644.62791 clicks
15 Sept
$604.96528 clicks
16 Sept
$592.21611 clicks
17 Sept
$565.90516 clicks
18 Sept
$617.13680 clicks
19 Sept
$606.30622 clicks
20 Sept
$636.32577 clicks
21 Sept
$645.21607 clicks
22 Sept
$571.64544 clicks
23 Sept
$538.50586 clicks
24 Sept
$610.18587 clicks
25 Sept
$604.30546 clicks
26 Sept
$609.56590 clicks
27 Sept
$598.35621 clicks
28 Sept
$602.90621 clicks
29 Sept
$590.54589 clicks
30 Sept
$581.16647 clicks
AdSpendClicksRegsCPLPaid attendeesPaid show rateAppsCost / appBookedCost / callClosedCashROAS
vid-profit-breakdown-ugc-v1paid$3,4423,32989$38.673339.8%14$245.8512$286.827$18,8005.46x
vid-garage-sale-haul-v3paid$3,2713,43074$44.202128.8%8$408.886$545.180$0.000.00x
img-thrift-before-after-v1paid$2,6282,70765$40.431421.9%1$2,6281$2,6281$1,6000.61x
vid-founder-story-v2paid$2,1882,20465$33.673046.9%5$437.653$729.420$0.000.00x
vid-workshop-reminder-v1paid$1,6241,63632$50.751237.5%4$406.023$541.362$11,0006.77x
vid-vsl-cutdown-90s-v1paid$1,5671,4340———0—6$261.241$1,6501.05x
vid-testimonial-stack-v2paid$1,0171,04725$40.691250.0%4$254.324$254.321$2,4002.36x
vid-qa-clip-v1paid$935.2492420$46.76840.0%0—1$935.240$0.000.00x
vid-pallet-unboxing-v2paid$930.799150———0—2$465.401$2,2502.42x
text-rsa-brand-v1paid$286.601640———0—3$95.531$750.002.62x
text-weekly-wins-v1paid——17—426.7%3—2—0$0.00—

Closes

18 of 43 calls here came from people who never registered for a webinar
CallAdCampaignRouteCashContracted
28 Septvid-pallet-unboxing-v2
Meta Ads · paid
vsl-cold-202607Direct / application$2,250$2,250
25 Septvid-profit-breakdown-ugc-v1
Meta Ads · paid
webinar-cold-202606Webinar$2,750$5,500
24 Septvid-profit-breakdown-ugc-v1
Meta Ads · paid
webinar-cold-202606Webinar$900.00$3,000
23 Septvid-workshop-reminder-v1
Meta Ads · paid
webinar-retarget-202608Webinar$5,500$5,500
21 Septvid-vsl-cutdown-90s-v1
Meta Ads · paid
vsl-cold-202607Direct / application$1,650$5,500
17 Septvid-workshop-reminder-v1
Meta Ads · paid
webinar-retarget-202608Direct / application$5,500$5,500
17 Septvid-profit-breakdown-ugc-v1
Meta Ads · paid
webinar-cold-202606Webinar$1,650$5,500
16 Septvid-testimonial-stack-v2
Meta Ads · paid
webinar-retarget-202608Webinar$2,400$2,400
16 Septvid-profit-breakdown-ugc-v1
Meta Ads · paid
webinar-cold-202606Webinar$2,500$4,950
16 Septimg-thrift-before-after-v1
Meta Ads · paid
webinar-cold-202606Direct / application$1,600$5,250
14 Septvid-profit-breakdown-ugc-v1
Meta Ads · paid
webinar-cold-202606Webinar$0.00$4,950
12 Septvid-profit-breakdown-ugc-v1
Meta Ads · paid
webinar-cold-202606Webinar$5,500$5,500
09 Septvid-profit-breakdown-ugc-v1
Meta Ads · paid
webinar-cold-202606Webinar$5,500$5,500
08 Septtext-rsa-brand-v1
Google Ads · paid
vsl-warm-202606Direct / application$750.00$5,500

Keeping every ad tracked — the UTM rule

Set once at the campaign level in Meta, never per ad

Every 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.