Show Google Ads which clicks became sales.
The ad brings the customer. The customer buys. The sale goes back to the ad, and the ad learns who buys. Apointoo keeps this cycle running.
Keep the click until the sale
The capture layer uses ClickTrail's tracking basis to keep first-touch and last-touch context with the visit, across sessions and devices. When the person comes back days later, the sale still finds the ad that brought them.
// app/api/conversion/route.ts
import { app } from '@/lib/apointoo'
export { app as POST }Connect the frontend you already use
A form, a booking page, a quote, your own flow. Apointoo plugs into what you already built. You keep the design and the copy; the attribution lives behind it.
// Attribution captured at the real conversion moment
const attribution = getAttribution()
// { gclid: 'xxx', utm_source: 'google', source: 'first-touch', ... }Confirm the sale, not the click
A lead can become a booking. A quote can be accepted. A sale can be paid. Mark the outcome, manually or via integration, and the click finally has a result tied to it.
// Confirm the outcome when it actually happens
await apointoo.confirm({
leadId: lead.id,
outcome: 'sale_paid',
value: sale.value,
currency: sale.currency,
})Send the sale back to Google Ads
When the sale is confirmed, Apointoo sends clean data back to Google Ads. The campaign starts learning from who bought, not from who filled in a form.
// Offline conversion goes back to Google Ads on confirm
await apointoo.uploadOfflineConversion({
gclid: attribution.gclid,
conversionName: 'sale_paid',
conversionValue: sale.value,
})Plugs into the systems where conversions actually happen
Booking software, notifications, dedup, storage, each one follows the same adapter shape. Connect what you already use to confirm conversions; swap them later without changing the rest.
BLVD
booking
OpenDental
booking
direct-confirm
booking
Brevo REST
notification
Twilio WhatsApp
notification
Sheets
persistence
Upstash
dedup
From click to confirmed sale, in one path
Every conversion travels the same pipeline. The original click stays attached at every stage, so the sale that comes back to Google Ads can always be traced to the ad that started it.
- 1Lead received
- 2Attribution attached
- 3Dedup check (Upstash)
- 4Outcome confirmed
- 5Offline conversion sent
- 6State persisted
Click a lead to send the conversion to its originating channel
Reserve with Google, ready to plug in.
For booking-driven clients, Apointoo includes a feed publisher for Google's Reserve with Google program. Availability appears on Google Search and Maps, the booking is captured with full attribution, and the sale still flows back to the ad that brought the click.