Your Facebook ads drive salon bookings, but Meta's pixel only sees landing page visits. BLVD appointments, membership signups, and retail purchases never reach Meta's algorithm. ConversionLoop sends those events server-side through Meta's Conversion API, giving the algorithm real purchase signals instead of incomplete click data.


A client clicks your Instagram ad and visits your salon's website. Maybe the Meta pixel fires a PageView, maybe a Lead event if they fill out a form. Then they close the browser and book through your Boulevard booking link two days later. The pixel sees none of that. Membership signups happen inside BLVD. Retail purchases at checkout are invisible to any browser-based tracking. Meta's algorithm is trying to find more clients who look like your buyers, but the only data it has is which people visited your website. That is a weak signal. It leads to higher CPMs, lower conversion rates, and a ROAS that understates what your ads are actually producing.
Why the manual process breaks — and what changes when you automate it
ConversionLoop places a lightweight script on your website that captures the fbclid from every Facebook or Instagram ad click. When a client eventually books through Boulevard, the webhook fires and ConversionLoop matches their email to the stored click ID before sending the event to Meta CAPI server-side.
Client clicks your Facebook or Instagram ad and lands on your website. cl.js captures and stores their fbclid.
Client browses your services or reads your menu, then navigates to your Boulevard booking link.
Client completes their booking inside Boulevard. BLVD fires a webhook to ConversionLoop.
ConversionLoop matches the client's email to the stored fbclid and sends a Schedule event to Meta CAPI.
If the client purchases a membership or retail product, a second webhook triggers a Purchase event with the sale value.
Meta's algorithm receives real booking and purchase signals and optimizes your campaigns toward clients who actually spend money.
14-day free trial. No credit card. Setup takes 10 minutes.
Start free trialFollow these steps once. Everything after is automatic.
Appointment BookedService appointment completed in BLVD. Maps to Meta Schedule event. Trains Meta on your real buyers.
Membership PurchasedRecurring membership signup. Maps to Meta Subscribe or Purchase. Highest lifetime value signal for lookalike audiences.
Retail PurchaseProduct sold at checkout. Maps to Meta Purchase with exact sale value for ROAS reporting.
As long as the client first landed on your website after clicking the Facebook ad, cl.js captures the fbclid at that point. The subsequent booking on Boulevard's hosted page is matched to the original click via the client's email. If the client went directly to the Boulevard booking page without visiting your site first, there is no fbclid to capture, which is expected behavior.
Yes. You can configure separate ConversionLoop integrations or map different BLVD webhook events to different Meta custom conversion actions. New client appointments can map to a Lead or CompleteRegistration event while returning client visits map to a Purchase event.
No. ConversionLoop includes a unique event ID in every CAPI payload. Meta's deduplication logic uses this ID to remove duplicate attribution when both a pixel event and a CAPI event are received for the same conversion.


Stop optimizing on guesswork. Every invoice, treatment, and booking — tracked and attributed automatically.
Start free — 14 days on usNo credit card required · 10-minute setup · Cancel anytime