Ads workspace
Capture leads from ad platforms, feed results back to them, and manage campaigns — and understand what's included in Core versus the add-on.
Open Ads in the main sidebar. The Ads workspace connects Smileline to Google Ads, Meta, TikTok and ChatGPT in both directions: leads flow in from native lead forms and your website (ChatGPT has no lead forms, so its leads arrive through your website only), and results flow back out so the platforms learn which clicks become booked patients.
Use the back arrow beside the Smileline wordmark to return to the main workspace.
Choose a workspace page
Native lead ads
Connect Meta, Google and TikTok lead forms and route every ad enquiry into the CRM.
ChatGPT Ads
Connect OpenAI's ad account with an API key, attribute website leads from ChatGPT ads, and run chat-card campaigns.
Conversion feedback
Report Lead, Booked and Won back to the platforms so their optimisation learns from real outcomes.
Analytics
Visits, page views and time on page on your own website, next to the leads and bookings each page and source brings, with visitors and heatmaps in tabs. Every plan.
Heatmaps
Where visitors click and how far they scroll on each page, drawn over a recorded visit to the page. Every plan.
Session replays
Watch anonymous recordings of real visits to your website, with everything typed into a form hidden. Every plan.
A/B page tests
Show two versions of a page of your Astro site to half your visitors each, and see which one books more patients. Every plan.
Ad campaigns
Build Meta campaigns from ready-made templates (UK and US) that arrive paused, set them live deliberately, and manage campaigns from every connected platform.
Ad images
A tab on Campaigns: add approved images from Social → Images to your ads, with the consent paid ads need (UK and US).
For the full week in one page, open the Ads weekly digest report. It shows:
- cost per lead and per booking;
- each platform's share of spend against its share of bookings;
- each platform's patient journey, from lead to treatment won;
- why leads were lost, and the stage they were lost at;
- every campaign and ad group, with a High cost per click tag where a click costs more than double its peers;
- who booked.
It counts the ad leads created in the period. The booked list shows only to people who can see patients. You can schedule it as an email: the email carries the headline numbers and the platform table, never patient names, and its Open full report button opens the report page.
The Overview
Ads → Overview shows how all your advertising is doing and what to change next. Pick the dates with the same picker as the CRM dashboard, remembered on this device. A practice with more than one location can also pick a location: every number on the page then counts only that location's campaigns, and a lead is always credited to the campaign that really won it, wherever that campaign runs. With the SEO & Ads add-on, the page shows:
- one sentence that sums up the dates, such as "24 bookings at £182 each from £4,370 of ads.";
- five numbers, each compared with the same number of days just before: Spend, Leads with what each lead cost, Bookings, Cost / booking, and Return — the estimated treatment value for every £1 spent;
- a chart of Spend or Bookings over the dates — per day, or per week or month on long ranges;
- Do these next: the three most useful suggestions across all your campaigns, ranked by the bookings each one is likely to win or protect in a month, with urgent ones marked. Show all lists the rest. Apply makes the change after you confirm it, and a budget change shows the new monthly projection first. Snooze hides a suggestion for a week or a month. Suggestions that need a page of their own link to the campaign;
- Where bookings come from: each platform's share of your spend next to its share of your bookings, with its cost per booking, and a warning when bookings aren't being sent back to that platform;
- Patient journey: what happened to the leads from your ads — how many were contacted (and how many of those within 5 minutes), booked, attended and won, each as a share of the leads;
- Campaigns, with how many campaigns are on target and three views:
- Top campaigns: your live campaigns by bookings, each with its cost per booking against its target and its verdict;
- All campaigns: every campaign that spent in the dates, including paused and ended ones, with platform-reported spend, impressions, clicks and conversions next to CRM truth — leads, booked, going ahead and treatment value — its cost per lead and a Total row. Pick a platform to narrow the table. Underneath are how quickly ad leads were first contacted and a link to the Ads weekly digest;
- By location: the same totals per location, when no location is picked and the practice has more than one.
Problem alerts, such as delivery stopped or an ad rejected, and the Data for [platform] stopped syncing warning appear at the top, with a Resume button — see If syncing stops. Alerts always cover the whole practice, even with a location picked, because each one is something to fix. When the accounts use different currencies, the totals stay blank and the page says the amounts aren't converted.
Lead capture is at the bottom of the Overview for every practice, with or without the add-on: each platform's connection, its enabled ad accounts and live forms, and the leads waiting on a person. It always covers all locations.
Platform dashboards
Google Ads, Meta Ads, TikTok Ads and ChatGPT Ads each open on a dashboard for that platform once it is connected. Pick a date range — the same picker as the CRM dashboard, with presets and a custom range, remembered on this device — and optionally a location, and the page shows:
- a status card:
- the connection;
- whether the platform receives your Lead, Booked and Going ahead results (Working, Off, Failing and so on). Fix in Settings appears when a lead or a booking isn't reaching it;
- one sentence on what the spend bought, such as "24 bookings at £182 each from £4,370 of ads.";
- how your live campaigns are judged, as a coloured bar with a count per verdict and "On target: x of y campaigns";
- four tiles with the previous-period comparison: Spend, Cost per lead, Cost per booking and Return (treatment value ÷ spend, shown as a multiple such as 4.2×). Cost per lead and cost per booking stay blank when there were no leads or bookings, and Return stays blank when there was no spend;
- Patient journey: impressions, clicks, leads, contacted, booked, attended and going ahead, each with the change from the previous period:
- clicks as a click rate of the impressions, and leads as a share of the clicks;
- contacted, booked and won as shares of the leads, and attended as the share of first visits that went ahead;
- what each click, lead and booking cost;
- the step that lost the most people, marked Biggest drop;
- Day by day: one chart, with a tab each for spend, leads (booked against not booked), clicks and impressions — per week or month on long ranges;
- your campaigns as cards, one per campaign — see Campaign cards.
Platform-reported numbers and CRM numbers sit side by side and are never blended, exactly as in the Overview's All campaigns view, and both count whole practice-local days. Each campaign card also offers Pause, Resume, Budget, Adopt, Open and Ads Manager — see Day-to-day controls. The Data for [platform] stopped syncing warning appears here too, and any open alerts for the platform are listed at the top. Acknowledge an alert to dismiss it; it is not raised again while the same condition persists.
Campaign cards
The cards open on Active: campaigns that are running, and drafts that have not launched yet. Select All to add paused, ended and archived campaigns, and the Other campaigns card, which holds anything not shown on its own card, so the cards always add up to the platform totals in the tiles above. Each card shows:
- the campaign's name, type and daily budget, its status (Live, Paused, Ended, Archived or Draft) and its verdict (see below);
- Spend, with a bar for each day (each week or month on long ranges) and how much of the daily budget an average day uses (Spends its full budget from 90%);
- CRM leads, with a bar for each day's leads (the ones that booked in full colour) and the cost per lead;
- Booked, with the share of leads that booked;
- Cost per booking, with a bar measured against the campaign's target: the tick marks the target, green is at or under it, amber up to one and a half times it, and red beyond.
A small badge beside CRM leads, Booked and Cost per booking compares each with the same number of days just before. Green means better, and for cost per booking lower is better. Underneath, the platform's own impressions, clicks, click rate and conversions sit beside treatment value and return. Click Ads to open the campaign's ads as a table with one header, so every column lines up:
- the ad and its status in words (Active, Ad set paused, Campaign paused, In review, Rejected and so on);
- Spend, with its share of the campaign's spend;
- Clicks, with the click rate;
- Conversions, as the platform reports them, with what each cost;
- Leads and Bookings from Smileline, the bookings with what each cost, coloured against the campaign's target.
Each number has a small bar against the largest in the table — spend's against the campaign's whole spend — so the strongest ads stand out. An ad no lead named shows a dash, not 0. When fewer than 80% of the campaign's leads say which ad they came from, a line under the table says how many do. ChatGPT only syncs ads for campaigns Smileline manages. On a phone the numbers move under the campaign's name, so nothing scrolls sideways.
Running campaigns carry a verdict, judged on bookings — point at it to see the reason. See How Smileline judges a campaign. Cards leave out On track, so the verdicts that ask for a decision stand out.
Everything that used to make up the page — the connection, Pages and ad accounts, lead forms, importing recent leads, the Google webhook key, conversion tracking and, on Meta, the privacy policy link for instant forms — sits behind Settings at the top right, with the connection on top and the rest in tabs; Dashboard switches back. A platform that is not connected yet opens straight on setup, and a reconnect prompt from a notification or the return from a platform's authorisation lands on the settings view.
Enabling an ad account starts its first import straight away: campaigns first, then reporting. Smileline then keeps enabled Google Ads, Meta Ads, TikTok Ads and ChatGPT Ads accounts in sync automatically, even when the dashboard is closed. Every hour Smileline refreshes campaigns, then spend, clicks and impressions straight after. Reporting includes today's spend so far, counted in the ad account's own time zone, and re-reads recent days so the platform's late corrections replace earlier figures. Platforms can take a few hours to report recent activity, so today's figures fill in through the day. Large accounts import in consecutive batches within the same run, so nothing is skipped however many campaigns or ads an account has. An open dashboard refreshes when the import finishes, and Last updated beside the refresh button shows how long ago the platform's numbers were last imported; if an account has not refreshed for more than three hours, a warning appears even while Smileline keeps retrying. Campaign and reporting imports require the SEO & Ads add-on.
Campaigns, ad sets and ads you delete in a platform's Ads Manager are marked as archived once two consecutive syncs no longer find them; their spend stays in your reports. Spend is shown in each ad account's own currency. When the accounts in view use different currencies, the dashboard says the amounts are not converted and leaves Return and Cost per booking blank rather than mixing currencies.
For an extra refresh, open Settings and select Sync now. Smileline imports campaigns and then reporting data for each enabled ad account in the background. Repeated requests share an import already in progress; you do not need to keep clicking Sync now for automatic updates.
For Meta, grant ad-account permissions as well as Page permissions, then add the ad account with Add Pages and ad accounts (it is switched on as it is added) before syncing. A connected Facebook Page alone does not supply campaign reporting.
Respond to ad leads fast
Speed to lead decides whether ad spend converts, so new practices are seeded with an Ad lead fast response set of follow-ups for new enquiries from your ads, under New enquiry → Also for ad enquiries — an SMS and email straight away, then a follow-up SMS three hours later. It arrives switched off. In the United Kingdom, switching on Text new enquiries within a minute when you build a campaign, or applying the Reply to leads faster suggestion, switches it on; you can also do this yourself under Settings → Automations.
How Smileline judges a campaign
Campaigns are judged on bookings, not leads: a cheap lead that never books is not a good campaign.
Target cost per booking. Every campaign is compared with what a booking should cost for its treatment. Smileline finds the treatment from the campaign's template, else the treatment most of its leads asked about in the last 90 days, else words in the campaign's name such as implant, Invisalign, veneers, whitening, emergency or check-up. The starting targets are:
| Treatment | UK | US |
|---|---|---|
| Implants | £300 | $450 |
| Clear aligners | £200 | $350 |
| Bonding and veneers | £200 | $350 |
| Whitening | £75 | $125 |
| Emergency | £50 | $100 |
| New patients — check-ups, hygiene and general dentistry | £60 | $150 |
| Anything else | your own cost per booking over the last 90 days, else £150 | your own, else $200 |
Practices in other countries start from the UK figures in their own currency. These starting targets will be refined as Smileline learns from more practices' results. To use your own figure, change the target on the campaign's page — see Your target.
An estimate with a range. With two bookings, a campaign can look brilliant or terrible by luck. Smileline starts every campaign as if it already had three bookings at its target, then lets real spend and bookings take over: with few bookings the estimate stays close to the target and its range is wide; with more, it follows the real numbers and the range narrows. The range is where the real cost per booking most likely lies (an 80% range).
Which leads count. Leads take time to book, so the estimate reads the leads of 28 days that ended a little while ago — as long as it takes 90% of your practice's leads to book, between 3 and 28 days (7 until there are enough bookings to tell). It also reads only leads that arrived after the campaign's last significant change: budget, targeting, destination, creatives, goal, an ad paused or resumed, going live again, or a budget, status or date change made in an Ads Manager. The campaign page says which dates it read.
Verdicts. A running campaign gets the first verdict that applies:
- No bookings yet — no bookings, and it is at least 80% likely that a booking costs more than the target. With no bookings at all, that point comes after spending about 1.3 times the target.
- Costs too much — at least 80% likely that a booking costs more than one and a half times the target.
- Ready to scale — at least 80% likely that a booking costs less than the target, and an average day spends at least 90% of the daily budget: the budget is what holds the campaign back.
- On track — at least 80% likely that a booking costs less than one and a half times the target.
- Too early to judge — anything else: the range is still too wide to say.
Suggestions
Smileline checks each live campaign's levers — budget, ads, audience, goal, tracking, follow-up and schedule — and suggests at most one change for each. Rules decide, from the numbers above; no AI is involved, so suggestions cost nothing and always say why. They appear on the campaign page beside the lever they change, and the most useful ones across all campaigns appear under Do these next on the Overview. Nothing changes until someone clicks Apply and confirms.
| Lever | Suggestion | When it appears | Apply |
|---|---|---|---|
| Budget | Pause this campaign | No bookings, and at least 90% likely that a booking costs more than the target — with no bookings at all, after spending about 2.3 times the target. Also when it costs too much and the budget is already at the platform minimum | Pauses the campaign |
| Budget | Lower the budget | At least 90% likely that a booking costs more than one and a half times the target | Lowers the daily budget by 20%. Needs Set campaigns live & change ad spend, like any budget change |
| Budget | Raise the budget | Ready to scale, and follow-up keeping up: at least half of the last 14 days' leads reached within an hour, and nobody waiting more than a day | Raises the daily budget by 20% after showing the new monthly projection. Needs Set campaigns live & change ad spend |
| Budget | Keep the budget as it is | A change is still on its way to the platform, the campaign changed in the last 7 days, the platform is still learning, costs look high but need a little longer to confirm, or it's too early to judge | — |
| Budget | Budget isn't what holds it back | An average day spends less than 70% of the daily budget | — look at the audience and the ads |
| Ads | Pause the weakest ad | An ad's bookings cost at least twice as much as its ad set's, the ad set has 10 or more bookings, the ad has run for 14 days, and at least 80% of the ad set's leads can be traced to their ad. Never the ad set's last running ad | Pauses that ad (Meta and Google) |
| Ads | Refresh a tired ad | An ad's click rate fell by 40% or more over two weeks while reaching people got 25% dearer, with at least 1,000 impressions in each fortnight | Fresh ads on Meta campaigns Smileline manages; otherwise the Ads Manager |
| Audience | Widen the area | A Meta campaign Smileline manages spends less than 70% of its budget for 14 or more days, with a radius under 30 miles for implants, aligners and cosmetic work, or under 10 miles for everything else | Widens the radius by half, up to that limit |
| Goal | Optimise on leads for now | A campaign optimising on bookings is still learning 14 days after going live | Switches the goal to leads |
| Goal | Optimise on bookings | A campaign optimising on leads had 30 or more bookings in four weeks, and booking feedback is working | Switches the goal to bookings |
| Tracking | Leads didn't reach Smileline | The platform counted 10 or more leads and Smileline received at least 30% fewer (Meta and TikTok lead forms) | Opens lead capture |
| Tracking | … results aren't reaching the platform or Turn on … feedback | Lead, Booked or Going ahead feedback is failing, or Lead or Booked feedback is switched off | Opens the conversion settings |
| Follow-up | Patients waiting for a reply | The campaign's leads are still waiting for a first contact a day after arriving | Opens them |
| Follow-up | Reply to leads faster | Fewer than half of the last 14 days' leads were reached within an hour, or the median first reply takes more than 5 minutes | In the UK, switches on the fast reply to new ad leads; elsewhere opens the leads |
| Follow-up | Fewer patients turn up | Under 75% of at least 10 booked consultations went ahead | Opens the Before the visit step of Automations |
| Schedule | Ends in … days | The end date is a week or less away, and the campaign isn't costing too much | Change the dates |
Each suggestion shows the numbers behind it, an estimate of its effect, such as "+1–2 bookings a month (estimate)" or "Saves about £180 a month", and how confident Smileline is.
Budget suggestions follow the same guardrails every time: steps of 20%, rounded to what the platform accepts and never below its minimum; nothing while a change is still on its way to the platform; no raise or cut within 7 days of the last significant change; never over your monthly spend cap; and never made without a person. A raise also waits while leads are waiting for a reply — more budget would only bring more leads nobody calls. Pausing a campaign that keeps spending with no bookings is the one suggestion that doesn't wait out the 7 days.
When you click Apply, Smileline checks the suggestion again first. If the campaign changed in the meantime, you are told the suggestion changed, and the page shows the current one. Snooze hides a suggestion for a week or a month; on the campaign page, a snoozed suggestion says until when.
Campaigns created in an Ads Manager get the same budget, ads, tracking, follow-up and schedule suggestions. To apply one that changes the campaign in Smileline, Adopt the campaign first — the button reads Adopt to apply — or make the change in the Ads Manager. Reply to leads faster switches on Smileline's own automatic text, so it works without adopting. Audience and goal suggestions appear once Smileline manages those settings.
These suggestions replace the five suggestion alerts Smileline used before: Room to grow, Reply faster, Pause the weakest ad, Learning stuck and Creative fatigue. Any still open were closed when the change arrived.
Notifications
When ads stop, or may stop, reaching people, owners and managers get a notification in the app and a push alert (Your ads need attention): delivery stopped, an ad disapproved, the ad account disabled or closed, or the budget limiting delivery. There is one notification per alert, and it opens the campaign (or the Ads overview for an account problem). Turn the push or in-app alert off under Settings → Notifications (An ad campaign stopped or needs attention, in Problems needing a human); email is off by default and can be switched on there.
The first person to set one of the practice's campaigns live is subscribed to the Ads weekly digest, every Monday at 8:00 practice time. Turn it off or change it like any other scheduled report; it is never added again.
What's included in Core
Native lead capture and conversion feedback are part of Smileline Core, along with website tracking and forms. They never create campaigns or spend advertising budget.
Campaign management, the Overview's advertising numbers, Ad images and the ads digest belong to the SEO & Ads add-on. Campaign templates and Ad images are for practices in the United Kingdom and the United States.
Who can do what
Advertising has three permission levels, shown as the Ads group when you Compare roles under Settings → Team members:
| Level | Who has it |
|---|---|
| View ads, captured leads & results | Owners, managers, front desk and analysts |
| Connect providers, manage lead forms & draft campaigns | Owners and managers |
| Set campaigns live & change ad spend | Owners and managers |
Going live and raising spend are deliberately separated from day-to-day management: pausing a campaign only ever stops spend, so any manager action can do it, but resuming, changing budgets or schedules and the first go-live all require the spend-moving level. Telesales team members have no ads access.
If the add-on is inactive
The workspace shows SEO & Ads is not active — existing work stays visible, while new generations and campaign changes are paused. If you can view billing, use View SEO & Ads add-on to open Settings → Billing.
Native lead capture and conversion feedback are unaffected: they are Core features.
If a page says the request did not reach Smileline
Ad blockers and privacy extensions sometimes block addresses that contain "ads", which stops an ads page from loading its data. Allow the Smileline app's site in the extension (or turn it off for this site) and reload the page.
Marketing consent
Record channel-specific consent evidence, see how people opt out of Instagram DM and Messenger campaigns, and understand how Smileline separates marketing from essential messages.
ChatGPT Ads
Advertise inside ChatGPT with an API key, attribute the leads that arrive on your website, and feed bookings back to OpenAI.