Google Ads for CPAP supply and resupply companies: the build order
Written for a growth lead at a DME supplier competing with the prescribing practice. The policy gate, the HIPAA problem with your remarketing tag, keyword buckets, the negative list to load on day zero, ad copy inside Google's limits, and the weekly hour that keeps it honest — in the order you would actually build the account.
- The auction
- A recurring-revenue e-commerce auction where the competitor is often the doctor who prescribed the machine. Masks and filters need replacing on a schedule, insurance covers some of it, and the supplier who makes reordering easiest keeps the patient for years.
- The conversion
- a customer who completes a second resupply order
- Source of truth
- your DME system (Brightree, Bonafide)
- Costliest mistake
- Optimising to first orders. The economics are entirely in resupply; a first mask sale that does not become a subscription is close to break-even at these acquisition costs.
The short answer
To run Google Ads for CPAP supply and resupply companies, optimize toward a customer who completes a second resupply order — recorded in your DME system (Brightree, Bonafide) — rather than toward form fills or booked appointments. A recurring-revenue e-commerce auction where the competitor is often the doctor who prescribed the machine. The costliest mistake is optimising to first orders. Everything below is the build order, in the sequence you would actually work through it.
Written by Ariful Islam — eight years building Google Ads accounts and the conversion tracking underneath them.
Specific to CPAP supply
CPAP resupply ads: buy the patient, not the first mask order
Run Google Ads for a CPAP supplier as a resupply acquisition program: split replacement-part searches from machine searches, bid toward the customer who places a second resupply order, and import that event from Brightree or Bonafide. The thing to get right is insurance eligibility at intake, before the first shipment.
You bid against national online CPAP retailers, Amazon listings for masks and cushions, the sleep lab or DME branch that set the patient up, and manufacturer sites that rank for every mask model name. Demand is planned and cyclical: patients search when a cushion leaks, a filter is due, or their supplier stops answering. That means steady all-week spend rather than business-hours bursts, and national targeting is usually viable if you can bill the patient's insurer in their state, which is the real limit on your geography.
Separate campaigns for replacement parts by model (cushions, headgear, tubing, filters), for 'switch CPAP supplier' and 'CPAP supplies through insurance' searches, and for machine purchases, which are a different customer with a prescription in hand. Bid on the second resupply order and pass an expected annual resupply value, set higher for insurance-billed patients on a full replacement schedule than for one-off cash buyers. Performance Max will pour budget into Shopping-style mask clicks from cash shoppers comparing against Amazon; keep it off until the resupply signal is flowing.
The trap is the cash buyer who orders one cushion and never returns, inflating first-order conversions while the resupply book stays flat. Machines are prescription devices, so confirm in Google's healthcare and medicines policy how your machine listings are treated before you advertise them. Never send diagnosis, device settings or payer details to Google Ads; send back only a hashed customer identifier, the second resupply order, and its value from your DME system.
Search terms to start from
- cpap supplies through insurance
- cpap mask replacement
- resmed airfit f20 cushion
- cpap supplies covered by medicare
- switch cpap supplier
- cpap filters and tubing
- cpap resupply program
- full face cpap mask
- nasal pillow cpap mask
- cpap headgear replacement
Negative keywords
- cleaning machine
- cpap recall lawsuit
- how to clean
- repair
- used cpap
- jobs
- diy
Read this before step one
Google Ads does not fail on its own. It fails on top of three things that were already broken.
- 01
Conversion tracking that reports the truth
If Google is counting form fills rather than a customer who completes a second resupply order, every bid it makes is aimed at the wrong outcome. First-party, server-side, joined back to your own system — not a browser tag that a consent banner or a cookie policy can silence.
- 02
A landing page that answers the search
One page for every ad group means the page answers a general question when the search asked a specific one. Google scores that as poor landing page experience and charges you more per click for it.
- 03
The right campaign for the goal
Performance Max on a broken signal spends faster and explains less. Search first, on a conversion you trust, then expand — in that order, because the order is not a preference.
Get all three right and the playbook below compounds. Get the first one wrong and everything below is executed perfectly in the wrong direction — which is the single most expensive thing that happens in this channel.
Not sure which of the three is wrong on your account? Send it over and we will tell you what it is actually reporting.
Check which gate you are behind before you plan anything
Healthcare is not one advertising problem, it is three stacked. Is the treatment advertisable at all? Does the advertiser need certification first? And can the result be measured without disclosing protected health information? A vertical can pass two of those and be stopped dead by the third, and the order matters — there is no point building a keyword list for a category that cannot run.
People build the whole account first and then discover the vertical is gated. The certification clock does not start until you apply, it does not care that your budget is ready, and a rejected application is slower to fix than a fresh one.
Two of these are Google's rules. The third is federal law. Passing the first two does not help you with the third.
| Setting | What Google defaults it to | Set it to |
|---|---|---|
| Is the treatment advertisable | Assumed yes, because a competitor is running ads. | No certification. Insurance-coverage claims must be accurate and prescription requirements stated. |
| Certification | Discovered after the account is built and the ads are disapproved. | None required for this category. Verify against Google's healthcare and medicines policy before launch — the categories move. |
| Measurement | The standard Google tag on every page, including the condition pages. | Google will not sign a BAA. Standard remarketing on condition, symptom or treatment pages is off the table for a covered entity — see the next step. |
Why your remarketing tag is a disclosure, and what to do instead
Google does not sign a business associate agreement for Google Ads. So when a standard tag fires on a page named for a condition, the request that leaves the browser carries an identifier and a URL that names what the visitor was reading — a disclosure of protected health information to a third party. The remarketing tag builds those audience lists automatically, whether or not anyone ever targets them, and that association is the problem. For CPAP supply and resupply companies this is not theoretical: the page structure that is good for search is exactly the structure that creates it.
This is the step we get called about most. If you do not have a developer for it, that is the normal situation rather than the exception — it is most of what we do, and it is worth fixing before the spend rather than after.
This is the step that quietly ends most DIY attempts. It is not difficult so much as unforgiving: one parameter carrying a treatment name is a compliance problem, not a bug, and nothing in the interface warns you.
- 01Inventory every page whose URL names a condition, symptom or treatment. That list is your exposure.
- 02Turn off remarketing collection on those pages before anything else. It is the fastest risk reduction available.
- 03Move tagging server-side and first-party, so requests leave your own domain and you decide what is in them.
- 04Strip the page URL and hash the identifiers, then send the outcome — a customer who completes a second resupply order — from your DME system (Brightree, Bonafide) as the conversion.
- 05Google learns that the click converted and never learns what the person was reading. That is the whole trick, and it is also better measurement.
- 06Do not rely on Google's restricted-category controls to do this for you. They limit targeting; they do not stop the disclosure.
Decide what counts as a conversion before you spend anything
For CPAP supply and resupply companies the conversion that matters is a customer who completes a second resupply order, and it lives in your DME system (Brightree, Bonafide) — not in the ad platform. Google can only optimize toward what you send it, so whatever you pick here decides what the algorithm spends the next ninety days chasing.
Everyone agrees the real conversion matters and then optimises to form fills anyway, because form fills are the number that is already there. The wrong choice here is invisible for ninety days and then expensive.
- 01Write down the single event that means money: a customer who completes a second resupply order.
- 02Find where it is recorded today. For this vertical that is your DME system (Brightree, Bonafide).
- 03Check whether that record can be joined back to a click — a GCLID field, a hashed email, a phone number captured at the form.
- 04Mark every softer action as secondary, so it reports without bidding.
The ad buys a consultation. The consultation is not the sale.
No consult. The prescription already exists and the searcher is buying replacement parts. is easy to generate and expensive to hold. Optimize toward it and the account gets very good at finding people who will book and not arrive, or arrive and not proceed — and it will report that as an improving cost per conversion the whole time. The stage that pays is a customer who completes a second resupply order, and it sits below the line the ad platform can see.
The booking system and the ad platform disagree and nobody reconciles them, so the campaign looks fine on the dashboard while the chairs stay empty.
An account optimized to consultations will fill the diary and empty the theatre.
Turn off the three defaults before you turn the campaign on
Google enables these on every new Search campaign, and none of them are keyword decisions. Everything else in this playbook operates on whatever is left after they have taken their cut.
For CPAP supply · Target only states where you are credentialed with the patients' insurers, not the whole country. If you also sell cash-pay parts nationally, run them in a separate campaign so that geography never leaks into insurance resupply.
Half an hour of switches that decides where a year of budget goes — and it is the screen everyone skips because it looks like boilerplate.
| Setting | What Google defaults it to | Set it to |
|---|---|---|
| Networks — search partners | Included. Your ads run on sites that are not Google. | Off at launch. Add it back later as its own campaign, when you can see what it contributed. |
| Networks — display expansion | Included. A Search campaign quietly starts buying banners. | Off. Mixing display into search makes both unreadable, and in health it also widens your placement risk. |
| Locations — targeting | Presence or interest — people merely interested in your area count. | Presence only. Under Location options, choose people in or regularly in your targeted locations. |
| Audiences | Remarketing lists added by habit. | Not from condition pages. This is the setting that turns a policy question into a HIPAA question. |
Build the keyword list in four buckets, not one
One flat keyword list is why most practices cannot tell which half of the budget works. Sorting by the intent behind the search lets you bid, write and judge each group on its own terms — and in health it also separates the problem-aware searches, whose landing pages are the ones carrying your privacy exposure.
The list is easy to build and hard to bucket. Sorted by volume instead of by intent, it produces an account you cannot read six weeks later.
| Bucket | Terms to build on |
|---|---|
| Insurance resupplyThe repeat-order customer; only worth it where you can bill the patient's insurer. |
|
| Model-specific partsPatients typing the exact part they hold; high intent, but many are cash one-off buyers. |
|
| Switching supplierPatients unhappy with a current DME; thin volume and often the cheapest qualified intake. |
|
| Mask typeShoppers who know the style but not the model; good for fitting help, slower to resupply. |
|
Load the negatives before the first click, not after the first invoice
Every health vertical has searches that look commercial and are not: job seekers, students, people looking for free care, and researchers who will never book. Broad and phrase match will find all of them for you. Add this at the account level on day zero.
The starting list is the easy part. The list that matters is the one you build from your own search terms report every week, and that is the habit almost nobody keeps past month two.
- cpap recall lawsuit
- recall settlement
- how to clean
- cleaning vinegar
- error code
- repair
- manual
- used cpap
- sell my cpap
- donate cpap
- craigslist
- ebay
- jobs
- respiratory therapist
- diy
- free cpap
- inspire implant
- mouth guard for sleep apnea
- sleep apnea surgery
- cpap for dogs
Match types, and why exact has not meant exact since 2021
Exact match includes close variants — misspellings, plurals, reordered words, dropped function words. Phrase now behaves roughly like the old broad-match-modified. Broad reaches as far as Google judges useful, which with a trustworthy conversion signal is valuable and without one is an open tap. Start narrow, prove the signal, then widen.
For CPAP supply · Exact match on mask and machine model names; phrase match on cpap supplies through insurance. Broad match on cpap finds recall lawsuits, cleaning guides, error codes and used machines faster than it finds patients.
Broad match added early, before the conversion signal is trustworthy, teaches the algorithm the wrong lesson faster than any other single decision in the account.
- 01Launch on exact and phrase only. You are buying data you can read, not volume.
- 02Give broad match its own campaign when you add it, so its spend and search terms stay separable.
- 03Keep 5 to 10 tightly themed keywords per ad group. An eleventh is usually a signal to build another ad group.
One ad group per intent, and a landing page that matches it
Ad groups exist so the ad can answer the search. The moment a group holds two intents the ad has to be vague enough to cover both, and vague ads lose on relevance before budget enters the picture.
The structure is quick to draw and slow to serve: every ad group you create needs its own ads and its own page, so the build you sketched in an afternoon turns into a fortnight of copywriting.
- AG01
Insurance resupply
Coverage-led searches; eligibility checked before the first shipment, valued on annual resupply.
- cpap supplies through insurance
- cpap supplies covered by medicare
- cpap resupply program
- get cpap supplies with insurance
- medicare cpap supply company
- cpap supplies covered by insurance
- AG02
Mask cushions and pillows
Named cushion and pillow replacements; exact match by model with matching landing pages.
- resmed airfit f20 cushion
- airfit n30i replacement cushion
- dreamwear nasal cushion
- cpap nasal pillows replacement
- cpap mask cushion replacement
- full face mask cushion replacement
- AG03
Machine parts
Chambers, filters and tubing; frequent replacement cycle, low ticket, steady demand.
- airsense 11 water chamber
- airsense 10 filters
- climateline heated tubing
- cpap filters and tubing
- cpap humidifier chamber replacement
- cpap tubing replacement
- AG04
Supplier switch
Patients leaving another DME; the intake that most often becomes a long resupply customer.
- switch cpap supplier
- new cpap supply company
- change dme supplier for cpap
- cpap supply company that bills insurance
- cpap supplies delivered to home
- AG05
Masks by style
Style-led shoppers who need fitting help before a model choice.
- full face cpap mask
- nasal pillow cpap mask
- cpap mask for side sleepers
- cpap mask for mouth breathers
- cpap headgear replacement
- cpap chin strap
Ad copy the practice can actually stand behind
Health is where misrepresentation enforcement is heaviest. Outcome promises, guarantee language and before-and-after implications are the standard disapproval causes, and a pattern of them reads as circumvention rather than a mistake. Every line below is written to be provable on arrival. Character counts are shown because assets over the limit are rejected at upload.
Copy that is fine everywhere else is a policy problem here. In regulated verticals the claim has to be provable on the page it lands on, and a disapproval mid-flight stops the ad group dead.
- CPAP Supplies via Insurance27/30
- Ask If Your Plan Covers It26/30
- Mask Cushions and Headgear26/30
- Filters, Tubing and Chambers28/30
- Switch CPAP Suppliers21/30
- Scheduled Resupply Orders25/30
- Shipped to Your Door20/30
- Full Face and Nasal Masks25/30
- Check Your Eligibility22/30
- Order Replacement Parts23/30
- Replacement cushions, filters and tubing, billed to your insurer when your plan allows.87/90
- We check eligibility before the first order ships, so you know what is covered.79/90
- Switching suppliers? We can request your records and set up a resupply schedule.80/90
- Ask us to check whether we carry your mask model and size before you order.75/90
What you need to spend before any of this can be judged
Published cost-per-click figures for health verticals differ by an order of magnitude between sources, so a benchmark from an article is worse than useless. Work backwards from four numbers you already have. The floor is whatever buys roughly thirty conversions a month — below that, smart bidding never leaves the learning phase and you are paying auction prices for a sample too small to teach you anything.
For CPAP supply · Second resupply orders arrive months after the first, so early weeks show only intakes. Fund enough to produce several eligibility-verified intakes a week, and judge budget on those until the resupply import catches up.
The arithmetic is easy. Accepting the answer is not — most accounts launch below the floor anyway and then read the noise as failure.
Why the advertiser bidding the most is often third
Position is not bought, it is earned and then paid for. Google ranks you on your bid multiplied by how good it expects your ad and landing page to be — so a relevant advertiser at half the bid outranks a vague one, and then pays less per click at the same position.
For CPAP supply · Online CPAP retailers and marketplace listings set the price on model and part terms. National DME suppliers contest insurance resupply terms, while switch-supplier searches are thinner and often bring the cheapest qualified patient.
Quality is treated as a score to chase rather than a diagnostic to read, so people optimise the number instead of the mismatch it is pointing at.
- 01Read Quality Score as a diagnostic, not a target.
- 02Ad relevance low? The ad group holds more than one intent. Split it.
- 03Landing page experience low? One page is serving every ad group.
- 04Expected CTR low? Rewrite the headlines against the actual search terms, not the keyword.
Bidding, and the point at which you are allowed to change it
Maximize Conversions on second resupply orders. First orders rarely cover acquisition on their own. Smart bidding is a data problem before it is a strategy problem: with thin or wrong conversion data it will confidently optimize toward noise, and it does that faster than a manual account can lose money.
For CPAP supply · Begin on Max Conversions toward eligibility-verified intakes, not first orders. Move to value-based bidding once second resupply orders import from Brightree or Bonafide with expected annual value, and give cash one-off buyers a much lower value.
A target set before the data exists is a guess the algorithm will honour to the letter.
What to judge, and when you are allowed to judge it
Most accounts are killed or rescued on evidence that could not have meant anything yet. Health cycles are longer than most — a consultation booked in week three may not become revenue until week ten — so the honest schedule is longer too.
For CPAP supply · Watch the ratio of verified-eligible intakes to form fills by campaign, and how many insurance patients reach a second shipment. Model-part campaigns can look strong on orders while bringing mostly cash one-time buyers.
Accounts get killed on week-three evidence that could not have meant anything yet — and the replacement starts its own learning phase from zero.
The first month buys data. The second corrects for it. The third is the first one worth judging.
- 01Weeks 1–2 — search terms only. Add negatives daily. Cost per conversion is a rumor at this stage.
- 02Weeks 3–4 — first real read on which ad groups get impressions. Fix relevance where the ad and the query disagree.
- 03Weeks 5–8 — conversion data starts to mean something. Near thirty a month, a target becomes an option.
- 04Weeks 9–12 — the first period worth judging on cost per outcome, measured in your own system.
- 05Only now: broad match, Performance Max, or a second location. Each needs the signal you spent the quarter building.
The weekly hour that decides whether this works
An account left alone drifts toward the cheapest clicks it can find, because that is what the system does when nobody corrects it. This is the shortest routine that keeps it honest.
For CPAP supply · Recurring junk: recall lawsuit and settlement searches, cleaning and error-code how-tos, used or donated machines, and alternatives like oral appliances or implants. Also check for searches looking for another supplier's portal or login.
This is the one that decides whether any of the above compounds, and it is the first thing to go the week you get busy. An account left alone drifts toward the cheapest clicks it can find, because that is what it is built to do when nobody corrects it.
- 01Search terms — strip machine-purchase, recall, no-prescription and cleaner queries
- 02First-to-second order rate
- 03Insurance eligibility failure rate at checkout
- 04Copy review: prescription requirement stated clearly
When Google Ads is the wrong answer here
Three situations where running this playbook will lose money. Read them before you fund the account, not after.
- You cannot yet record a customer who completes a second resupply order against the click that caused it. Fix the measurement first — running blind for a quarter costs more than the fix does, and in health it also leaves the privacy problem in place.
- You do not have the capacity to serve what the campaign brings in. Paid search turns on demand faster than most CPAP supply and resupply companies can staff for, and a call answered four days late costs the same as one you convert.
- Your budget cannot sustain thirty conversions a month in this auction. Below that, smart bidding never leaves the learning phase and you are paying auction prices for a sample that cannot teach you anything.
Questions this raises
- Should we bid on mask model names like AirFit or DreamWear?
- Yes, but in their own ad group with tight negatives, because those searchers are often price-checking against Amazon. Judge them on whether they become insurance-billed resupply patients, not on first-order volume.
- Can we target patients who bought a mask from us six months ago?
- Not through Google remarketing lists built on health pages. Reach them through your own email or text resupply reminders, and let Google Ads focus on finding new patients.
- Can we use remarketing at all?
- Not from pages that name a condition, symptom or treatment, if you are a covered entity — the tag creates the association whether or not you ever target the list. Remarketing from neutral pages, built through a first-party server-side setup that strips the URL and hashes identifiers, is a different question and is usually workable. Take that one to your own counsel; this is engineering guidance, not legal advice.
- Does Google's restricted-category setting solve this for us?
- No. Those controls limit how you can target and personalize. They do not stop the request that carries a page URL and an identifier from leaving the browser. The disclosure is in the data flow, not in the targeting settings.
- How much should we budget to start?
- Enough to buy roughly thirty conversions a month at your own cost per click, with three months of runway. Published health benchmarks vary by an order of magnitude between sources, so work it out from your numbers rather than from a figure in an article — the arithmetic is on this page.
- Should we run Performance Max?
- Not first, and in health not casually. PMax needs a conversion signal worth trusting, will not tell you which of its channels spent your money, and expands your placement surface at the same time. Get Search profitable on the real conversion first.
- Why does the platform's number look better than your DME system (Brightree, Bonafide)?
- Because the ad platform counts what it can see, on its own attribution window, and credits itself generously. Your own system counts what happened. When they disagree, the second one is the one you bank.
- What is the single most expensive mistake in CPAP supply and resupply companies?
- Optimising to first orders. The economics are entirely in resupply; a first mask sale that does not become a subscription is close to break-even at these acquisition costs.
Five problems we get called in to fix
Every one of these arrived as “the campaign has stopped working”. None of them were the campaign. If you recognize your own symptom here, the cause is probably the one sitting next to it.
Google Ads reports forty conversions. Your own system shows eleven.
Google is counting the form fill or the phone tap. It has never been told which of those became a customer who completes a second resupply order, so it cannot tell the difference — and neither can the report you are being shown.
Send the outcome back from your DME system (Brightree, Bonafide) as the conversion, with the click joined to it. Bidding starts chasing what you get paid for.
Your agency added remarketing and nobody asked about HIPAA.
The standard tag on condition and treatment pages associates an identifiable visitor with a health concern, and sends it to a company that will not sign a business associate agreement. The audience list does not have to be used for the disclosure to have happened.
Stop collection on those pages today, then move tagging server-side and first-party so the page URL never leaves and identifiers are hashed before anything is sent.
Cost per lead looks excellent and the schedule is full of no-shows.
Smart bidding is doing exactly what it was told. Optimize toward the cheapest conversion and it finds the least committed people, because they are the cheapest to convert.
Give the conversion a value, and count the attended visit rather than the booking. The algorithm can then tell a kept appointment from a hopeful one.
Spend climbs every month and revenue does not follow.
Usually search partners, display expansion and presence-or-interest targeting still on from launch, plus a search terms report nobody has read since. The account is buying reach it was never asked for.
Turn the three defaults off, work the search terms report properly, rebuild the negative list. Least glamorous fix here, usually the biggest.
Conversions collapsed and nothing in the account changed.
The tracking broke, not the campaign. A site update, a consent banner change, or a browser tightening cookie rules — the tag stops firing and the algorithm reads the silence as failure.
First-party server-side tagging so measurement does not depend on a third-party cookie surviving, then monitoring so the next break is an alert rather than a quarter.
What this costs you, in hours
Every step above is doable. Together they are a project with a tail. Nobody tells you this part, so here it is before you start rather than in month three.
So what should you actually do with this?
Three honest options. The first one is genuinely fine for a lot of businesses, and we would rather you picked it knowingly than drifted into it.
Run it yourself
Good if you have the hours and someone technical
- 23–30 hours to build, then 3–4 every week
- You end up understanding your own account, which is worth real money later
- The measurement step still needs a developer
- Your mistakes are paid for at auction prices while you learn
Hire a general agency
Good if you want it off your desk this month
- Fast to start, and most are competent at the campaign work
- Usually optimizes toward whatever is easy to count — the form fill, the booked call
- Reports come from the ad platform's own numbers
- The measurement problem stays yours, because it lives in your systems
Work with us
Good if the reporting has stopped matching reality
- We build the measurement first — first-party, server-side, joined back to your DME system (Brightree, Bonafide)
- Then we run the account on a conversion we can both check
- Reporting is against your numbers, not the Google column
- Eight years of this, and the tracking and the media are the same team
We are not going to promise you a number. Anyone who quotes you a return before seeing what your account currently reports is guessing, and the guess is always flattering. What we will tell you, for free and before any of this becomes a conversation about money, is what your account is actually measuring today.
Or we run it for you
Eight years of Google Ads, on top of tracking that reports the truth.
Everything above is doable, and none of it is the hard part — the hard part is doing it every week for a year while running the business it is meant to fill. That is the 3–4 hours a week you just read about, on top of the 23–30 to build it.
Most agencies will run the campaign and take your word for what a conversion is. We build the measurement first — first-party, server-side, joined back to your DME system (Brightree, Bonafide) — and then manage the account on a signal we can both trust. It is the same reason the playbook above starts with the conversion rather than the keywords.
- Account build or rebuild, structured the way this page describes
- Conversion tracking wired to your DME system (Brightree, Bonafide), not to form fills
- Server-side, first-party tagging so the signal survives the browser
- Landing pages that answer the ad, one per intent
- Monthly reporting against your own numbers, not the Google column
- The search terms report worked every week, not quarterly
The first conversation is a read of what your account is actually reporting. No deck, and nothing to sign to get it.
