PricingFree mockup
Proofsite Blog · case study

How we run Google Ads: our own campaign, no polish

Since late September we have run a paid Google Ads campaign for our own site. We treat it as a proving ground: what we learn on ourselves, we apply for clients. Here are the decisions, the reasons and the results, including what does not work yet. No amounts, because the method matters more than the budget.

168search clicks
5.3%CTR, which is normal
1genuine inquiry from a business
6% → 30%of ad visits made a choice in the cookie banner

Starting point

The campaign went live at the end of September. Ad metrics looked fine, yet almost no inquiries came from businesses. Instead of adding to the ads, we took the whole path to the money apart and are fixing it piece by piece.

Decision 1: measure the funnel before touching the budget

Decision. After the first weeks we did not add to the ads. We took the path apart: click, visit, inquiry.

Reason. The ad metrics looked fine, but inquiries did not come.

Result. 168 clicks on 3,177 impressions, CTR 5.3%. In a sample from the server logs, 79 clicks produced 70 visits (89%). One genuine business left an inquiry, about 0.6% of clicks. The ads brought people in; the page did not convince them.

Decision 2: fix on-page trust, not bids

Decision. Page changes (company details, form, clearer offer, AI assistant) before any bid increase.

Reason. Google rated landing-page experience below average on all the main keywords. Bidding cannot fix that.

Result. The fixes have not changed the rating yet: the landing page is still rated below average, and Quality Score on the keywords that have one sits between 3 and 5 (read from the API on 22 Oct). We say so plainly; it is part of the lesson.

Decision 3: A/B test the offer instead of guessing

Decision. A control versus a variant with a different price offer, 1–5 October.

Reason. We wanted to know whether price was the barrier.

Result. 14 clicks in control, 13 in the variant, 0 inquiries in both. No difference, no winner declared. Lesson: at this click volume a test settles nothing, so we set the stopping rule in clicks, not in days.

Decision 4: repair measurement

Decision. A new cookie consent banner and a consent audit.

Reason. Only about 6% of ad visits made a choice, so Google saw a fraction of the traffic and could not learn.

Result. Advertising consent from 9 of 30 visitors (30%), roughly five times the earlier rate. That is a small sample, so we treat it as a direction, not a result. There are still too few inquiries to switch on automated bidding, so we keep it off.

Decision 5: check the schedule in both time zones

Decision. Ad schedules are verified in both zones: the account runs on Kyiv time, the customers on Warsaw time.

Reason. Before the correction (from launch to 10 October), the hours from 23:00 to 07:00 Kyiv time consumed about 30% of spend and delivered 31 clicks with no inquiries.

Result. Schedule corrected, rule recorded. After the correction (11–22 October) not a single click came in those hours.

What it means for a client

  1. Before launching ads we test the whole path to the money, not only the campaign.
  2. Ad metrics (CTR, clicks) are not the result. The result is an inquiry from a real business.
  3. We do not promise inquiries. We promise measurement, an honest report, and fixes where the funnel leaks.

Source: Google Ads API (clicks, impressions, schedule, quality ratings; window 1 Sep to 22 Oct 2026) plus server logs and our consent measurement (as of 18–19 Oct 2026). Data from our own campaign, no amounts and no client data.

A pre-launch check for your campaign →

Get my free mockup