Conversion feedback
Report Lead, Booked and Won back to Google, Meta, TikTok and ChatGPT automatically, so platform optimisation learns from real practice outcomes.
Ad platforms optimise towards whatever you can report back to them. Left alone, that's a form submission; with conversion feedback, Smileline reports the moments that actually matter — the enquiry, the booked consultation, and the won treatment — so Google, Meta, TikTok and ChatGPT steer spend towards clicks that become patients.
Conversion feedback is part of Smileline Core, switched on per connected platform by an owner or manager. Each platform page (Ads → Google Ads, Meta Ads, TikTok Ads or ChatGPT Ads) carries a Conversion tracking card under Settings — the button at the top right once the platform is connected: the on/off toggle, a Share treatment values switch, the setup checklist and the last 30 days of sent, skipped and held events. Sharing treatment values with the Won event is a separate choice — leave it off and platforms still learn which leads won, just not what they were worth.
What each platform receives
| Moment | Google Ads | Meta | TikTok | ChatGPT |
|---|---|---|---|---|
| Lead — a journey opens from an ad-attributed enquiry | Selected Lead goal | Lead | Website: Lead; Instant Form: SmilelineLead | lead_created |
| Booked — an appointment is linked to the journey | Selected Booking goal | Schedule | Website: Schedule; Instant Form: SmilelineBooked | appointment_scheduled |
| Won — the journey is won | Selected Won goal | Purchase | Website: Purchase; Instant Form: SmilelineWon | order_created |
Each journey reports each moment once per platform, ever — rebooking an appointment or re-entering a stage never double-counts. With value sharing on, the Won event carries the journey's confirmed treatment value (or the estimated value when no confirmed figure has been entered yet) in your practice's accounting currency.
Setup and provider requirements
- Connect the platform under Settings. Connected means access was granted; conversion tracking is still off.
- Enable the ad account shown below the connection and select Save account defaults (Save for ChatGPT). The account switch is not saved until you press that button. If no account appears, select Sync now and refresh the page after discovery finishes.
- Turn on Conversion tracking below the account. If a prerequisite is missing, the checklist explains it and Review account setup takes you back to the account controls. For Google, Meta and TikTok, Choose conversion resources opens before setup. Review the account, then choose an existing resource or Create a new resource for Smileline for each destination. Even a single existing resource needs your choice. Empty inventories default to creation. Select Apply setup to confirm.
- Select Refresh status to check background setup and delivery. Delivery not verified yet means setup has finished but the platform has not confirmed an eligible event. Healthy appears only with tracking enabled, setup complete and delivery verified. The Sent · 30 days count records accepted events.
Once the ad account is enabled and saved, you can turn on conversion tracking while background account and lead discovery continues.
You can reopen Choose conversion resources to change destinations. Smileline checks the live inventory again before saving; a failed inventory is never treated as an empty account. It remembers confirmed choices across retries and reconnections. Missing selected resources require repair or a new explicit choice, rather than switching to another account's resource. Apply setup only after reviewing the platform terms linked in the dialog.
Creation requests retain a durable identity. If Meta or TikTok creates a resource but its response is lost, Smileline reconciles the inventory instead of creating duplicates. Unfinished setup with a saved choice stays visible and gets another automatic recovery window after the initial retries. Recovery keeps the chosen resource; it never silently chooses a different existing resource. This stops when tracking is disabled or setup succeeds.
Google is preparing your conversion actions is a temporary setup state: new actions can take up to six hours to become ready. Smileline saves eligible events and sends them automatically afterwards. This waiting state disappears when the preparation window ends; it is not a delivery error.
If the account is disabled, enable and save it first. Reconnecting Google is only needed when the connection or permissions checklist asks for it.
Smileline provisions the supported resources through each platform's API. The connected user and developer app must still have the provider permissions described below:
- On Google Ads it detects the conversion customer from the selected serving account, shows that customer in the checklist and lists conversion actions there. Choose a different goal for Lead, Booked and Won, or create new ones. Selected upload goals are enabled and assigned the matching funnel category, counting every conversion and accepting uploaded values. These edits also affect other integrations using those goals; bidding and attribution settings are preserved. Website and GA4 goals cannot be changed into upload goals. Event delivery uses Google's asynchronous Data Manager API and remains held until Google reports a successful request status.
- On Meta, select the ad account in Choose conversion resources. Choose an available, business-owned CRM dataset or create a new CRM-enabled dataset in that ad account’s owning business and link it to the account. Website Pixels and unavailable datasets are shown as incompatible; setup cannot convert them. Native lead outcomes include Meta's original lead ID and CRM source markers.
- Review the new Meta dataset’s Health & wellness provider category in Events Manager. Meta’s public dataset creation API does not expose category assignment. Missing business access or a required provider review appears in the checklist. An uncertain creation is reconciled from Meta’s inventory on retry instead of creating another dataset; after the fast retries, Smileline checks again in a new 24-hour recovery window while tracking remains enabled. You can also review it in Events Manager and select the correct dataset.
- On TikTok, choose the advertiser, then reuse or create a website Pixel and CRM Event Set. Each path appears only when its permissions are available. TikTok permits up to 50 CRM Event Sets per advertiser.
- On ChatGPT it creates a conversion source named SmileLine, uses that source's public pixel for browser and server events, creates the three event settings named above with a 30-day click window, and stores a separate Conversions API key encrypted. A rejected server key rotates automatically; the management connection does not need reconnecting. See ChatGPT Ads.
- Google remains Delivery not verified yet until Data Manager reports a successful asynchronous request status. This can remain pending after the first event is submitted, while Google processes it. Meta and ChatGPT require the first accepted real event. TikTok can also use an optional Test event code under Advanced for its website Pixel; native CRM verification still depends on a real attributed lead.
- Disconnecting ChatGPT keeps its Conversions API key stored encrypted, so reconnecting the same ad account needs no re-provisioning. Connecting a different ad account discards the previous account's pixel, event settings and key.
Google blocks UploadClickConversions for developer tokens that had no offline-conversion history before 15 June 2026. Smileline therefore uses the Data Manager API. The Google Cloud project must have that API enabled and its OAuth app must be approved for the sensitive datamanager scope. If the checklist shows Reconnect for Data Manager access, reconnect Google Ads and approve the additional permission. Account, campaign and lead-form sync continue while this access is pending.
TikTok Instant Form outcomes use TikTok's CRM Events route, not the website Pixel Events route. In Choose conversion resources, choose the advertiser and reuse or create its CRM Event Set. Changing advertiser clears the previous advertiser's Pixel and Event Set before Smileline provisions your new choices. Until a set is selected and Smileline has the original TikTok lead ID, native-lead outcomes are held visibly. Website-origin TikTok Lead, Schedule and Purchase events continue normally whenever their separate Pixel permissions are available.
TikTok accepting a CRM Events API request proves delivery to the Event Set, but it does not complete lead-quality optimisation. In TikTok Events Manager:
- Open the selected CRM Event Set.
- Map
SmilelineLead,SmilelineBookedandSmilelineWonto TikTok's four CRM funnel stages. - Wait up to 10 minutes, then confirm Attributed events shows more than zero matched events.
Smileline keeps CRM verification awaiting until this provider-side mapping and attribution check is complete. The website Pixel and native CRM paths use separate permissions, so a provider-action warning on one path does not stop the other.
Meta requires extra ad permissions that the original lead-capture connection may not carry. If the checklist shows Reconnect to grant ad permissions, reconnect, select the Page and ad account you want Smileline to use, and approve the additional access. Then enable tracking to reuse or create a CRM dataset, or choose an existing one. Meta verifies Conversion Leads only from a real lead, so Smileline does not send a synthetic test event. Lead capture keeps working unchanged while permissions or Meta review are pending.
Website leads deduplicate with your pixels: when an enquiry arrives through the tracking script, its browser event ID is reused for the Lead event, so a platform that also saw a pixel fire counts one conversion, not two.
What is never sent
Smileline checks every event at the moment of sending, and skips rather than sends when in doubt:
- Junk — journeys marked as junk, and archived journeys. See Junk marking.
- No consent — any explicit marketing-consent refusal suppresses the event. An enquiry from your website with unknown consent is also suppressed; only leads captured through the platforms' own instant forms may rely on the consent collected by the platform.
- No identifiers — Google needs a current ad click identifier or qualifying enhanced-conversion user data. Meta accepts its native lead ID, browser/click identifiers or email/phone; native TikTok leads require their original lead ID, while website TikTok and ChatGPT events need their own click/cookie identifier or email/phone. Contact identifiers are irreversibly hashed before transmission; raw contact details are never sent.
- History — only journeys created after you first switch feedback on ever send a Lead event. Smileline never uploads your historical pipeline.
Junk marking
A junk enquiry — spam, a competitor, a wrong number — is exactly what you don't want a platform optimising towards. Three places mark it:
- Mark as junk in a journey's actions menu — on a journeys-board card, in the journey dialog, and in a patient's journey list. The same menu offers Unmark junk, and junk journeys carry a subtle Junk badge.
- The Mark as lost dialog has a This was junk or spam checkbox. Ticking it picks your junk-flagged lost reason when one exists, and marks the journey as junk either way.
- A lost reason can be flagged Marks as junk under Settings → Lost reasons, so closing a journey with that reason marks junk automatically.
Marking a journey as junk immediately stops any of its unreported events. Lead events deliberately wait 15 minutes before sending, so front-desk triage beats the upload — mark junk within that window and the platform never hears about the lead at all. Unmarking doesn't resurrect events that were suppressed, but the journey's later moments report normally.
Timing and guarantees
- Lead waits 15 minutes (the junk-triage window). Booked sends immediately. Won waits an hour when value sharing is on, giving staff time to enter the confirmed treatment value.
- If a win is reversed before its event was sent, the event is withdrawn.
- Delayed queue messages cannot block newer events. A stalled delivery handoff is counted under Held · 30 days and retries automatically when its 24-hour handoff window resets, within the provider’s acceptance window. Retries retain the original event identity so the platform can deduplicate them.
- Temporary connection failures are rechecked automatically. Missing or revoked permissions still require the account owner to reconnect; the checklist explains that action. Repair and recovery states explain what Smileline is doing, and provider error codes are available under Technical details.
- Delivery runs in durable seven-day slices. One that cannot be delivered in its current slice is set aside and counted — never silently dropped. Google automatically reopens recoverable work while its provider identifiers remain acceptable (up to 90 days for click identifiers or 63 days for enhanced-conversion user data). TikTok also reopens its bounded slices because TikTok's CRM postback documentation does not specify a hard event-age cutoff. Meta and OpenAI reject events older than seven days, so their hard window runs from the conversion moment; an event that can no longer be accepted is marked skipped as stale instead of being retried forever.
- If a platform restricts its dataset (Meta does this while it reviews an advertiser), events are held, not lost — the checklist warns "Meta has limited this dataset — events are held, nothing is lost". Smileline re-tests hourly and delivers the held events as soon as the restriction lifts.
- TikTok Instant Form outcomes that still need the provider's CRM Event Set route are also held individually; they do not block website events in the same batch.
- Google submissions stay pending after the initial API acknowledgement until Data Manager diagnostics report success. Processing, partial-success and resource errors remain durable: recoverable credentials and resources are revalidated or reprovisioned, while unresolved rows stay visible for replay.
- OpenAI server-key authentication failures trigger a fenced key rotation and re-arm the affected rows with their original event IDs and deadlines.
Conversion feedback also powers managed campaigns: campaigns Smileline creates optimise towards the Booked event rather than raw form fills.