Ad campaigns
Build a Meta or Google Search campaign from a ready-made template in four steps, set it live deliberately, and manage campaigns imported from every connected ads platform.
Open Ads → Campaigns. This page manages real advertising campaigns on Google Ads, Meta, TikTok and ChatGPT — building new ones from ready-made templates, going live, schedules, targeting and creatives — while Smileline keeps the risky levers automated. Campaign management is part of the SEO & Ads add-on; your practice always pays the ad platforms directly.
Building a campaign from a template is available to practices in the United Kingdom and the United States. It isn't available in Italy.
Every campaign appears as a card, the same campaign cards as the platform dashboards: spend, leads, bookings and cost per booking for the dates you pick, the change from the period before, small charts and a booking-based verdict such as Ready to scale. The date range is shared with the platform dashboards and the CRM dashboard on this device. Two tabs split the list:
- Managed — campaigns Smileline created or has adopted.
- External — campaigns found in your ad accounts that were created directly in an Ads Manager. Each has an Adopt button.
Active shows running campaigns and drafts; select All to add paused, ended and archived ones. Every campaign card links to the platform's own Ads Manager from its More actions menu — Smileline never locks you out of the native tools.
In the United Kingdom and the United States, the page also has an Ad images tab next to Campaigns: the approved pictures your ads can use. See Ad images.
Who can do what
Building, pausing and creative work need the manage level of the Ads permission group. Anything that starts or raises spend — going live, resuming, budgets, raising or removing the monthly cap, schedules — needs Set campaigns live & change ad spend. Both belong to owners and managers; front-desk members and analysts can view campaigns and results.
Making a template's ad images also needs Create & publish posts and ideas, because the images are made in Social → Images. The When someone enquires switches appear only for people who can change the practice's automations.
Campaign types
| Type | What it does |
|---|---|
| Google Search | Build from a template in Smileline or sync from Google Ads Manager. Text ads shown when people nearby search, with a call button. See Google Search campaigns. |
| Google Performance Max | Synced from Google Ads Manager; creating a new campaign in Smileline is not available yet. |
| Meta — website bookings | Build from a template in Smileline or sync from Meta Ads Manager. Sends people to your website, or to the landing page you choose. |
| Meta — instant forms | Build from a template in Smileline or sync from Meta Ads Manager. Uses an instant enquiry form, so no website is needed. |
| TikTok Smart+ lead gen | Synced from TikTok Ads Manager; creating a new campaign in Smileline is not available yet. |
| ChatGPT — chat card | Synced from OpenAI Ads Manager and available for adoption. Create the campaign and set its lifetime budget and conversion goal in OpenAI Ads Manager. See ChatGPT Ads. |
Create new Performance Max, TikTok Smart+ and ChatGPT campaigns in the platform's Ads Manager for now. They appear under External after the next sync and can then be adopted. OpenAI's campaign API accepts a lifetime spend limit, while Smileline currently models daily campaign budgets, so ChatGPT creation and budget editing stay in OpenAI Ads Manager. Smileline only offers creation types whose current provider payload and reviewed inputs are verified.
Create a campaign
Click New campaign on Ads → Campaigns, on the Ads Overview, or on the Meta Ads or Google Ads dashboard. Four screens build one campaign from a campaign template:
What do you want more of? — pick a template, such as Implant consultations or Meet the dentist. Each card shows the platforms it can run on now and its recommended daily budget. Anything that would stop the campaign appears above the cards with a link to fix it: campaign-management access, a Meta or Google Ads account or a Facebook Page, your privacy policy link, conversion tracking (for Google Search, the calls action, plus Lead and Booking in the UK), or a location without a map pin.
Budget — choose Starter, Recommended or Strong, in your ad account's currency, or tick Custom amount. Each shows "≈ X–Y enquiries/month (industry estimate)": a range worked out from industry cost-per-lead figures, not a promise. Learning limited is normal at these budgets, so judge a campaign after 2–4 weeks. Tick I understand up to about … a month can be spent to continue.
If you can set campaigns live, this screen also shows Monthly cap across all campaigns (optional): one limit for the whole practice, in the cap's own currency. Only campaigns spending in that currency count towards it — there is no conversion, so a campaign in another currency is outside the cap. Smileline refuses a budget, Set live or Resume that would take your campaigns' combined monthly projection over it, and doesn't build a campaign whose own monthly projection is over it — choose a smaller budget, or raise the cap. Saving the cap is separate from building the campaign; leave it empty for no cap. Raising or removing it needs Set campaigns live & change ad spend.
This screen is also where you switch the platform under Runs on (an instant form, your website or Google Search), pick the ad account and Facebook Page when you have more than one, and pick the treatment for a Custom campaign.
Your ads — three ads made from your own photos, as described in What each ad shows. The dentist's photo comes from their team profile; choose any other photo from your device. Photos stay in your browser until you tick the consent box, and choosing another photo clears it:
Everyone in these photos is on our team, is 18 or over, and has agreed in writing to appear in paid ads on Facebook, Instagram and Google, including AI-edited versions.
Optional AI edits show their price before anything is made (AI images: up to … each, added to your bill). Click Make the ads: each image is made in Social → Images, approved and added to Ad images, and its card shows how far it has got. Edit each ad's Headline, Text and Description as you like. The policy check runs as you type, and a finding in red must be fixed before you can continue.
A Google Search campaign has no images: this screen shows Your search ad instead — 3 to 15 headlines of up to 30 characters and 2 to 4 descriptions of up to 90 (a double-width character counts as two), filled from the template. Google mixes them to fit each search.
Preview & build — phone previews of the ads, the instant form and the screen people see after sending it, with a plain summary such as "Adults within 10 miles of Leeds · optimised for enquiries · you pay Meta directly". Under When someone enquires, choose whether to text new enquiries within a minute (UK practices) and whether the AI receptionist calls them (Voice AI add-on). A call task appears in Today for every enquiry either way. Advanced holds the campaign name (named automatically when left empty), the radius around each location in miles, the minimum age (18 by default), the start and end dates, the landing page of a website campaign, and two more settings:
- The form type of an instant-form campaign: standard, or higher intent, which asks people to check their details before sending. It starts as the template's choice.
- A target cost per lead for a Meta campaign, offered only when the daily budget is at least five times the target.
Click Build campaign (paused).
Building is one change: the campaign, its ads and its form arrive on the platform paused, and you land on the campaign page, where Set live starts it. On Meta, every ad is published into the campaign's ad set, and creatives launch with Advantage+ creative enhancements switched off — text rewriting, and automatic image and video edits such as touch-ups, generated backgrounds, image expansion and added text — so the ad you approved is the ad that runs. Advantage+ audience stays on while the minimum age is 25 or under; a higher minimum switches it off for that ad set, as Meta requires.
Google Search campaigns
New patients, Implant consultations, Emergency appointments, Use dental benefits before Dec 31 (US) and Custom can run on Google Search, for practices in the United Kingdom and the United States, once Google Ads is connected with campaign management. Building one creates, in one change and paused:
- An ad group for each service the template advertises, with keywords made from the service — and, for English-speaking practices, "near me" and "cost" variants. Your one search ad runs in every ad group.
- Negative keywords: the template's list of searches that are never a patient booking, such as jobs, training, DIY and pets, plus your practice's own name as an exact match — people searching for you by name find you anyway, so you don't pay for them.
- A call button with the phone number of the first location you target. Google counts a call from it that lasts 60 seconds or longer as a conversion — see calls from Google Ads. Add the number under Settings → Locations first: without one the build says so and nothing is created.
- Opening hours, for Emergency appointments only: the ads run only while that location is open, in your Google Ads account's time zone, starting and ending on the quarter hour inside your hours. Without opening hours the build says so. The other templates run all day.
- No automatic rewriting: AI Max is off, and Google's automatically created text and final URL expansion are switched off, so the ads say only what you approved and open only the page you chose.
The campaign bids with Maximize conversions and no target, on one goal: calls from your ads, plus [Smileline] Submitted Lead Form and [Smileline] Appointment Booked in the UK. In the US the goal is calls from ads only, so no patient data leaves Smileline. A Google Search campaign that isn't from a template keeps the goal described in How managed campaigns optimise.
Budget minimums
Each platform has a daily floor that Smileline enforces; a template's Starter, Recommended and Strong amounts never go below it:
| Platform | GBP | USD | EUR |
|---|---|---|---|
| Meta | £5 | $5 | €5 |
| Google Search | £5 | $5 | €5 |
Meta and Google technically allow less, but below roughly £5 a day the learning phase never completes, so Smileline holds a practical floor. Set TikTok daily budgets, and ChatGPT lifetime budgets, in their Ads Managers. A practice-level monthly spend cap can also apply — a budget whose projection exceeds it is refused.
Save your privacy policy link
Meta shows a link to your practice's privacy policy on every instant form, so a Meta — instant forms campaign can't launch until Smileline has it.
- Open Ads → Meta Ads and click Settings.
- On the Facebook Pages tab, find Privacy policy for instant forms below your Pages.
- Enter the full address of your privacy policy page — it must start with
https://— and click Save.
The link is saved once for the practice and used by every instant form Smileline creates. To remove it, clear the box and click Save. The card appears when the SEO & Ads add-on is active, and owners and managers can change it.
Launch paused, go live deliberately
Building creates the campaign on Meta or Google in a paused state. Nothing spends until someone with publish permission explicitly sets it live. Before building, Smileline checks that:
- the platform connection is healthy and carries campaign-management permission — Meta may ask for a one-time reconnect to grant it;
- conversion tracking has finished provisioning (it usually takes a few minutes) — for a Google Search template, the calls action, plus Lead and Booking in the UK;
- Meta campaigns have a connected Facebook Page;
- instant-form campaigns have your privacy policy link saved;
- Google Search templates have a phone number for the first targeted location, and Emergency appointments its opening hours;
- every headline, description and primary text of every ad passes the ad policy check, and every attached image has been approved.
When you're ready, click Set live. The confirmation is explicit: "This is the moment spend starts. The campaign begins its learning phase." A previously live campaign, or a paused campaign adopted from the platform, shows Resume instead.
A Google Search campaign built from a template goes live only once Google has confirmed its goal for the conversion actions it uses now. Smileline applies the goal straight after building, so this usually takes a few minutes; until then Set live and Resume say Google hasn't confirmed the goal yet. A goal confirmed for actions that have since been replaced doesn't count — click Re-apply goal on the campaign page to apply it again, then set it live.
The campaign page
Click a campaign's name to open its page. The top shows its name, platform, type and daily budget, its status, and its verdict — point at the verdict to see the reason — with Pause, Resume or Set live, Adopt and Ads Manager beside them.
Below them, four numbers:
- Bookings from the campaign's leads over the last 28 days, compared with the 28 days before.
- Estimated cost per booking, worked out from the leads old enough to judge — see How Smileline judges a campaign — with its likely range drawn against the campaign's target (Your target).
- Spend over the last 28 days, as the platform reports it, compared with the 28 days before, and how much of the daily budget an average day uses.
- Return over the last 28 days: the estimated value of treatment going ahead for every £1 spent. It stays blank when your ad account bills in a different currency from the practice.
Day by day charts each day's spend next to the bookings that day's leads made so far. The most recent days are marked as too recent to judge, because their leads are still booking. Show the numbers by day opens the same figures as a table. Under the chart, the page says which leads the verdict read, such as "Based on leads from 2 Sep to 29 Sep".
Do this next lists up to three suggestions for the campaign — urgent ones first, then those that need action. Then a card for each part of the campaign:
| Card | What it shows and changes |
|---|---|
| Budget | The daily budget, its monthly projection, and how much of it an average day uses. Type a new amount, or use −20%, +10% or +20%. The card shows the platform's minimum and the room left under your monthly spend cap. A raise needs I confirm the monthly projection above. before Save budget. After a change, the card says how many days to wait before the next one. |
| Patient journey | The campaign's leads, and how many were contacted, booked, attended and going ahead, each as a share of the leads. It shows how many turned up for their first visit and where the biggest drop is, with See these leads. |
| Ads | Each ad with its image or text, its status, its share of the spend, its click rate and the platform's results. Bookings show by ad once most of the ad set's leads can be traced to their ad. Pause or Resume an ad, Edit copy, or add Fresh ads. |
| Audience | For Meta campaigns Smileline manages: the areas around your locations with their radius in miles, which you can add or remove, and the age range. Google campaigns show their areas without editing; campaigns run from an Ads Manager say Managed in Ads Manager. |
| Goal and tracking | What the campaign optimises for, with Optimize on leads or Optimize on bookings where the platform allows a switch, or Re-apply goal for a Google Search campaign built from a template. It also shows whether the platform is still learning, and whether Lead, Booked and Going ahead results reach the platform. |
| Follow-up | How many of the last 14 days' leads someone reached within an hour, the median first reply, the leads waiting over a day for one, and show-up. It also shows whether the automatic text to new ad leads is on. |
| Schedule | The start and end dates, in the practice's time zone, and how long the campaign has been running. |
| Change history | Every change Smileline sent to the platform: who made it, when, and whether the platform confirmed it. Your target and snoozes stay in Smileline and aren't listed. |
Each card says how that part is doing — Needs action, Worth a look, All good or Not enough data yet — and shows its suggestion. A suggestion comes with the numbers behind it, its likely effect and how confident Smileline is. How we worked this out lists the figures it used. Apply asks you to confirm first; a budget change shows the old and new budget and the monthly projection. Snooze for 7 days or Snooze for 30 days puts a suggestion aside, and Bring it back restores it.
A campaign created in an Ads Manager shows the same numbers and suggestions. Its target and snoozes work as usual, while changes that would reach the platform offer Adopt to edit here or Edit in Ads Manager, and suggestions read Adopt to apply. A draft shows its settings to edit, with no suggestions yet; an ended campaign, or one Smileline no longer manages, keeps its results here, read-only.
Your target
The estimated cost per booking is judged against a target, shown under it — for example Target £300 · Implants default. Smileline starts from a target for the campaign's treatment and country; see the table of starting targets. To use your own figure, click Edit, enter the target cost per booking and click Save. Reset to default goes back to the starting target.
Only Smileline uses the target: it sets the bar for the verdict and the suggestions, and the platform never sees it. Changing it needs the manage level. If someone else changed it while you were editing, you're asked to try again with their figure in view.
Day-to-day controls
The campaign page keeps the useful levers one click away — pausing is always available to managers, while anything that restarts or raises spend asks for publish permission:
- Pause — stops delivery immediately.
- Budget card — shows the new monthly projection, and a raise requires I confirm the monthly projection above. before saving. ChatGPT campaigns have lifetime budgets, so change those in OpenAI Ads Manager.
- Schedule card — start and end dates, in the practice's time zone.
- Audience card — the areas around your locations with their radius, and the age range where supported. The landing page of a website campaign is changed from the Ads card.
- Edit copy on the Ads card opens Review & apply creative changes — batch your ad text edits, review them together, and apply them as one change. For new images, add Fresh ads. Editing live Meta creatives restarts Meta's learning phase, so that batch requires an explicit I understand this restarts Meta's learning phase. On a Google Search campaign you edit the search ad's full lists, as when building it: 3 to 15 headlines and 2 to 4 descriptions. Google headlines are limited to 30 characters and descriptions to 90 (a double-width character counts as two), and TikTok ad text to 100 characters with no emoji; Smileline refuses longer text rather than trimming it.
- Optimize on leads / bookings, on the Goal and tracking card — available where the provider supports changing the goal. Instant-form campaigns always optimise on Meta's own lead result, so their goal can't be changed, and Smileline never suggests a goal switch for them. A Google Search campaign built from a template keeps its goal of calls, enquiries and bookings (calls only in the US): its button reads Re-apply goal and applies that goal again rather than switching it, and Smileline never suggests a goal switch for it either. OpenAI makes a ChatGPT campaign's objective and selected conversion event immutable after creation, so set that goal in OpenAI Ads Manager when creating the campaign.
Pause or resume one ad
The Ads card on the campaign page shows each ad's image or text, its status, its share of the spend, its click rate and the platform's results over the last 28 days, and its bookings once enough of the campaign's leads can be traced to their ad. The status is what the platform last reported for the ad: Running, Paused (also while the campaign itself is paused), In review, Not approved, Not delivering or Removed. While a pause or resume you asked for is still on its way, the ad also shows Pausing… or Resuming…. On Meta and Google campaigns:
- Pause ad stops one ad. It only stops spend, so the manage level can do it.
- Resume ad starts it again, which restarts spend, so it needs Set campaigns live & change ad spend.
Smileline never pauses an ad set's last running ad (on Google, an ad group's) — pause the campaign instead, or add a fresh ad first. An ad you resume counts as running only once the platform confirms the resume: until then, or if the resume fails, it can't stand in for the last running ad. Pausing the whole campaign and resuming it later keeps an ad you paused paused. While a Set live or Resume is still on its way to the platform, single ads wait until it has finished. If an ad you paused is still running on the platform — the pause didn't go through, or someone switched it back on in Ads Manager — the list says so and offers Pause again. Pause TikTok and ChatGPT ads in their own Ads Manager.
Fresh ads
When ads tire — the Refresh a tired ad suggestion says so — click Fresh ads on the campaign page of a Meta campaign that is on the platform (UK and US practices). Smileline prepares three new ads from the campaign's template, exactly like the Your ads step of a new campaign: check the copy, choose the photos, tick the consent box and click Make the ads. Campaigns made before templates use the Custom template's ads, with the campaign's service as the treatment.
Under Pause tired ads, tick up to three current ads to pause once the new ones are in; ads flagged as tired are ticked for you. Tick I understand this restarts Meta's learning phase and click Add 3 ads. The new ads join the campaign's existing ad set as one change, the pauses are sent only after the new ads exist, and the ad set is never left without a running ad. A batch holds at most three new ads and three pauses, so it fits comfortably in the platform's limits; add more with another batch.
Changes to a campaign's ads take turns: creative changes and Fresh ads, pausing or resuming one ad, and a new destination URL reach the platform one at a time, in the order they were made, so a later change never overtakes an earlier one.
Pause, Resume, Budget and Adopt are also one click away on each campaign row of the platform's dashboard (Ads → Google Ads, Meta Ads, TikTok Ads or ChatGPT Ads), beside Open — the campaign page, for schedule, destination, targeting, creatives and goal — and Ads Manager. Budget asks for the same monthly-projection confirmation as the campaign page and is not offered for ChatGPT, whose budgets are lifetime. A change queued there goes through the same Change history: the row shows a pending badge — Pausing…, Resuming…, Adopting… or Budget change queued — and its actions stay disabled until the platform confirms, at which point the page refreshes on its own.
TikTok status, budget, schedule and creative-text changes use the Marketing API. Change TikTok destinations and locations in TikTok Ads Manager for now: a destination edit needs the provider's complete creative snapshot, and location targeting needs TikTok geo IDs. Smileline refuses an unsafe partial update rather than overwriting fields it cannot reconstruct.
Every change is recorded in the campaign's Change history, including changes the platform rejected. OpenAI reviews ChatGPT ads after creative changes — in review, approved or rejected. Keep OpenAI's Text customisation switched off in Ads Manager: it can rewrite headlines outside Smileline's policy check.
Fixed once built: the services a template advertises shape the campaign's structure, so they can't be changed afterwards.
Never exposed: manual bids, placements and custom audiences. These are the levers that quietly burn budget, so Smileline leaves them automated — and leaves the door open via the Ads Manager link if you want them anyway.
Adopt an existing campaign
Campaigns you created directly on a platform appear under External after the next sync, and on the platform dashboard. Click Adopt on the campaign's card in either place to manage one from Smileline. Adoption changes nothing on the platform — the campaign's current settings simply become the state Smileline manages from then on. A ChatGPT campaign with a lifetime budget shows Total budget set in Ads Manager and cannot be adopted: give it a daily budget in OpenAI Ads Manager first. Once adopted, status, schedule, destination and creative controls are available in Smileline, while budget, targeting and conversion-goal changes remain in OpenAI Ads Manager.
External edits always win
Smileline syncs campaign structure hourly. Anything changed in an Ads Manager — a budget, a name, a status — is adopted as the new intended state, never reverted, and the campaign is badged Edited externally. You can always work in both tools without them fighting. A campaign, ad set or ad deleted in an Ads Manager is marked as archived after two consecutive syncs no longer find it, so its alerts stop; if it comes back, the next sync restores it.
For Google campaigns, sync also refreshes the linked budget so Daily budget works after adoption. If a previously imported Google campaign's budget change failed, click Sync now on the Google Ads settings page, wait for sync to finish, then submit the budget change again.
If syncing stops
If a platform keeps rejecting the sync — an expired login, a closed ad account — Smileline stops retrying rather than hammering the platform, and a warning appears on Campaigns, the Overview and the platform's own dashboard: Data for [platform] stopped syncing. Nothing is lost; the numbers simply stop refreshing while the pause lasts.
Temporary problems fix themselves. When a platform asks Smileline to slow down, the sync waits exactly as long as the platform requested, and a pause caused by an outage retries on its own a few hours later, carrying on from where it stopped. Reconnecting an expired login on the platform page restarts the sync straight away.
Anyone with the manage level can click Resume to restart syncing at once, from the beginning. If the underlying problem is still there — for example the connection needs a reconnect on the platform page — the retries are used up again and the warning returns.
How managed campaigns optimise
Managed campaigns optimise towards booked consultations, powered by conversion feedback — Google gets Booking as the primary goal with Lead secondary, Meta website campaigns optimise on Schedule, and TikTok uses its standard Schedule event. A Google Search campaign built from a template bids instead on calls from its ads that last 60 seconds or longer, together with Lead and Booking in the UK, and on those calls alone in the US. ChatGPT continues sending conversion feedback to the event selected when the campaign was created; changing that event requires a new OpenAI campaign. Instant-form campaigns optimise the platform's native lead event instead.
A/B page tests
Show two versions of a page at the same address, each to half of your visitors, and see which one books more patients.
Campaign templates
The ready-made campaigns you can build in four steps — where each one runs, what you provide, and the advertising rules it follows. For practices in the UK and the US.