NEXSUM_LABS
  1. Home
  2. Work
  3. An events company closed the loop from ad click to paid attendance
Book a call

[ Case study ]

EventsMeta AdsConversions API (offline events)Value-based optimizationRegistration platform integration

An events company closed the loop from ad click to paid attendance

Meta optimized toward lead-form submissions, but free-lead volume didn't fill paid seats — the ads celebrated cost-per-lead while the actual event underfilled. The conversion signal the algorithm needed (paid attendance) never reached it.

CLIENT a professional-events company — FOCUS Send real outcomes back to the algorithm

Facebook & Meta AdsPaid MediaFacebook & Meta AdsEventsRepresentative example
Client
a professional-events company
Industry
Events
Engagement
5 weeks — growth pod — paid social specialist
Service
Paid Media / Facebook & Meta Ads
Headline outcome
Paid attendance attributed to paid social per campaign, year over year at similar spend: +55%, read from Attendance records + attribution reconciliation

Representative examplesEvery case study in this library is an illustrative composite of the kind of engagement we deliver — written to show our method and standards, not to name clients.

Where they started

Conferences and paid professional workshops are the events company's product — ticketed seats, a free community tier that feeds the funnel, and registration running on an external platform the team likes. Cash follows the attendance sheet, not the registration list: refunds and no-shows resolve weeks after sign-ups. Paid social had been run on cost-per-lead targets for years, each event's marketing celebrated at registration close and quietly re-assessed when seats were counted in the room.

What it was costing

Meta optimized toward lead-form submissions, but free-lead volume didn't fill paid seats — the ads celebrated cost-per-lead while the actual event underfilled. The conversion signal the algorithm needed (paid attendance) never reached it.

What they could see

  • Cost-per-lead dashboards looked excellent while actual paid seats per event kept coming in under forecast.
  • Registration lists filled with free-tier sign-ups the ads celebrated but the P&L never saw.
  • Marketing's post-event reviews blamed ticket pricing or lineup, never the conversion signal the ads had been optimizing toward.
  • The registration platform reported leads and the finance team reported attendees, and the two numbers were never reconciled.

The constraints we worked inside

  • Registration happened on an external platform; offline conversions had to bridge the gap.
  • Free-vs-paid attendee distinction was the entire economics — one blended signal would lie.
  • Refunds and no-shows made 'registered' meaningless — attendance data arrived weeks later.

What had been tried before

The registration platform's built-in pixel integrations were switched on and left running.
The toggle tracked registrations — mostly free seats — so the algorithm chased the cheapest, least valuable conversion the funnel offered.
Free-lead audiences were emailed reminders encouraging them to upgrade to paid tickets.
Email nudges moved a trickle of upgrades but taught the ad platform nothing; bidding kept optimizing toward free sign-ups all season.
The cost-per-lead targets were tightened before each new event's marketing window opened.
Tightening a cost target on the wrong conversion simply bought free registrations more efficiently while the paid seats stayed underfilled.

What we proposed

We proposed sending the algorithm what the business actually sells: paid attendance. Registration-platform outcomes flow back through the Conversions API as value-bearing events, timed after the refund window so 'registered' stops being the target. Free community seats and paid professional seats received separate campaigns, with the free line deliberately feeding the paid line's retargeting audience. Bidding decisions lag attendance data by design — waiting for real outcomes replaced celebrating lead counts.

Just as important is what we ruled out, and why:

  • Optimizing on registrations with bid adjustmentsAdjustments nudge a blended signal without separating free from paid; the economics live in that split, so any optimization on the blend inherits the lie.
  • Moving registration in-house to a native funnelRe-platforming registration before a multi-event season was a larger risk than an integration, and the platform's attendee data was usable once exported properly.
  • Lead-gen campaigns for paid seats directlyForms produce leads; seats are bought by commitment — the funnel needed the free-to-paid path measured, not a second lead source.

How the work ran

01Send real outcomes back to the algorithm

Paid-attendance events (post-refund-window) flow back via the Conversions API with values, so optimization targets what the business sells.

02Split the funnel free vs paid

Free community seats and paid professional seats got separate campaigns — the free line feeds the paid line's audience, deliberately.

03Optimize on the delayed truth

Bidding decisions lag attendance data by design — the discipline of waiting for real outcomes replaced the dopamine of lead counts.

Delivered by the growth pod — paid social specialist over 5 weeks, with working increments reviewed with the client every week.

The stack, and the reasoning

Meta Ads
Prospecting and the free-to-paid audience path both run on Meta; the funnel design needed one platform holding both ends.
Conversions API (offline events)
Attendance outcomes flowed back as value-bearing events after the refund window — the only way the algorithm could learn what a paid seat is worth.
Value-based optimization
Bidding on event values instead of lead counts re-priced every auction toward the attendees who pay.
Registration platform integration
A scheduled export bridged the external platform; the integration had to survive refunds and no-shows, which the timing rules encode.

What went wrong

Obstacle

The registration platform's export was a weekly manual CSV someone downloaded by hand — the feedback loop the whole design depended on was slow and fragile.

Handled: We negotiated a scheduled export from the platform's support, stood up an automated import, and the interim weeks ran on the manual file with its delay documented.

Obstacle

Value-based bidding on paid attendance started with too few recorded events per week to learn from, and delivery drifted while the algorithm searched for signal.

Handled: We seeded optimization with the earlier funnel stages at low weights until event volume accumulated, then shifted the learning signal fully to paid attendance without a delivery collapse.

Obstacle

The free-tier campaign initially outbid the paid line for shared audience overlap, quietly starving paid prospecting in the first weeks.

Handled: We tightened the free campaign's exclusions and re-weighted budgets so the free line fed the paid audience deliberately — the design's actual intent — instead of competing with it.

How we worked together

Cadence
A weekly call during each event's marketing window, plus a post-event reconciliation session once attendance data had settled — the loop closed every time, on the calendar.
Client side
The marketing manager owned the ad account; the operations coordinator owned the registration-platform export and its import schedule between us.
Decisions
Budget shifts between free and paid lines waited for post-event reconciliation; mid-cycle hunches were noted, tested on the next event, never enacted mid-flight.
They provided
Registration-platform export access or a support contact willing to schedule it, event economics per tier, and the patience to judge campaigns on lagged data.

What changed

The headline: paid attendance attributed to paid social per campaign, year over year at similar spend+55%, read from Attendance records + attribution reconciliation. A second check: cost per paid attendee at −19%.

Post-event reviews now open with the attendance reconciliation instead of the lead dashboard, and the marketing manager stops celebrating registration milestones mid-cycle because everyone knows the real number arrives later. The free tier is discussed as the paid line's audience engine rather than a vanity counter. Registration-platform leads, once the headline metric, became an early indicator — useful, no longer worshipped. The team plans campaigns around the lag, booking learning into the calendar instead of being surprised by it.

The result was read from Attendance records + attribution reconciliation against the pre-engagement baseline over the stated window, with a guardrail check on cost per paid attendee. Where platform-reported numbers and business outcomes differ, this record says which layer it is quoting.

What they own now

  • The offline-conversion pipeline: scheduled registration export, import job, and refund-window timing rules.
  • The free-versus-paid campaign split with the audience-feeding design documented.
  • The value-based bidding configuration and its learning-phase seeding recipe.
  • The post-event reconciliation routine keyed to the attendance calendar.
  • A lag-handling note for future event marketers — what waits for data and what doesn't.

What we would do differently

We would have negotiated the registration platform's data export earlier — weekly manual CSVs delayed the feedback loop the whole design depends on.

Paid MediaFacebook & Meta AdsEventsMeta Ads

Next case study

An industrial supplier cut wasted search spend by a third by structuring for intent