Suppose a business pays US$600 for a month of advertising and, when the month closes, counts twelve new customers who arrived through it. Six hundred divided by twelve is fifty, so the month's customer acquisition cost is US$50. A 2004 paper in the Journal of Marketing Research uses the same arithmetic. Its authors "operationalize acquisition cost by dividing the total marketing cost by the number of newly acquired customers for each time period."1 The fraction has two parts: a numerator, which is the sum of money paid, and a denominator, which is a count of people.

A small business reads the first figure from an invoice and the second from its own order records. Direct-response copy, which asks the reader for one action and is judged by that action, rests on this fraction. The spend can be exact, or it can be set by other people. The count is always an attribution, and the largest field experiments on record have measured how far an attribution can differ from a cause.

An auction charges a price the advertiser did not set

Google's auction page says Ad Rank combines "your bid, ad quality, the Ad Rank thresholds, the context of the person's search, and the expected impact of extensions and other ad formats."2 The bid is the only one of the five the advertiser writes down. Google's page on actual cost per click says the charge is often less, "sometimes much less", than the maximum bid.3 That amount is whatever is "minimally required to clear the Ad Rank thresholds and beat the Ad Rank of the competitor immediately below you." An advertiser never sees the competitor's bid.

The daily total moves as well. Google's page on budgets says a campaign "might spend up to twice your average daily budget" on a given day.4 The price of a click, and the number of clicks the month buys, are decided in auctions the advertiser does not see.

The count of customers is where the experiments found the error

The trouble with the denominator is what a counted customer proves. Thomas Blake, Chris Nosko, and Steven Tadelis measured what paid search ads caused in large field experiments at eBay, published in Econometrica in 2015.5 Because search clicks and purchase intent are correlated, they write, "returns from paid search are a fraction of non-experimental estimates." When eBay stopped buying its own brand name as a keyword, "almost all (99.5 percent) of the forgone click traffic" arrived through natural search instead. The customers who had been counted against those ads came anyway.

For other keywords, the ads influenced new and infrequent users. Frequent users "whose purchasing behavior is not influenced by ads account for most of the advertising expenses," and the average return on that spending was negative.5 A regression on the same data had put the return on investment (ROI) above 1,400 percent; the experiment found minus 63 percent. The authors write that "the majority of spending on Google is related to clicks by those users that would purchase anyway."

A 2019 paper in Marketing Science by Brett Gordon and three co-authors tested whether richer data on the people repairs the attribution.6 Across 15 experiments at Facebook, with 500 million user-experiment observations, the observational methods "often fail to produce the same effects as the randomized experiments, even after conditioning on extensive demographic and behavioral variables." AdBubbles matches words on pages to the advertisers who bought them, and we do not know whether the reader who opens a bubble has bought before. We do not choose which people see a bubble, do not follow a reader from one page or site to the next, and do not promise that a click becomes a customer. AdBubbles sets no cookie, stores no identifier, and collects no personal data from readers.

A flat monthly price makes the numerator a known figure

On AdBubbles an advertiser buys a word rather than an audience and pays a monthly package price before the campaign runs. The three packages, Starter, Standard, and Network, are prepaid subscriptions anchored to the calendar month. One advertiser holds a keyword on a site for the month. The price is settled before the campaign runs, so the numerator is the same figure on the first day and the last.

For each keyword the advertiser sees how many sites carry the word and their estimated monthly page views. An advertiser can build a campaign, choose its words, and read those counts without paying anything; the advertiser pages describe the packages and the pricing page gives what each costs. A person reviews the creative before it runs.

Measuring what an ad caused takes experiments no small budget can run

Randall Lewis and Justin Rao measured the scale of the problem in the Quarterly Journal of Economics in 2015.7 Their twenty-five field experiments with major American retailers and brokerages together represented US$2.8 million of advertising. Even then, "the median confidence interval on ROI is over 100% wide, the smallest exceeds 50%." An informative experiment "can easily require more than ten million person-weeks." A business with a monthly budget in the hundreds of dollars cannot run that experiment.

Such a business can hold one number fixed and count the other on its own site. The click from a bubble carries campaign parameters that the advertiser's own analytics can read. Google's analytics documentation describes utm_source as the "Referrer" and utm_campaign as the "Product, slogan, promo code" on a destination URL.8 Conversion tracking on AdBubbles is planned; today an advertiser counts conversions on their own site. The advertiser dashboard shows clicks per keyword per site per day and exports the table as CSV.

The cost per customer falls when more readers of the pages carrying the word turn out to be buyers, and only the advertiser's count shows whether that happened. A known price does not fall on its own, and which niches have readers who buy is not known in advance. The order records already say which counted customers had bought before, and splitting the count that way costs nothing.

Direct-response copy inside a bubble carries its own label

Direct-response copy has one shape, and a bubble already holds it. It contains an "Ad" label, a headline of at most forty characters, a body of at most ninety, the advertiser's display domain, one link, and a small "Ads by AdBubbles" mark. The label matters because the Federal Trade Commission's guide to native advertising calls an ad deceptive if it conveys that it is "independent, impartial, or from a source other than the sponsoring advertiser."9 The guide lists "Ad," "Advertisement," "Paid Advertisement," and "Sponsored Advertising Content" as terms likely to be understood. A bubble carries the first word on that list, so its copy gets its answer from readers who knew they were reading an ad.

The practical consequence is a ledger with two columns. A word bought for a calendar month gives one spend figure for that month, fixed in advance. A customer count for the same month, taken from the advertiser's own records and split into first-time and returning buyers, gives the other. The dashboard's per-day export lines the two up by date. Kept for a few months, those columns are an acquisition cost series built from documents the business already holds, and every entry is a number the advertiser can check.