Google Ads charged the same click twice? Check this first
Google Ads clicks and cost can show up with a delay of about an hour and can be changed days later, so a cost that jumps 2 hours after the visit can be a late report, not a second charge. A real repeat click from the same person can be billed while analytics shows one session. Clicks Google finds invalid are not charged, or come back as a credit you can see in the Invalid Activity Credit Report.
Why the number moves after the click
Google's help says clicks, impressions and cost have a 1 hour data freshness target, and that reporting metrics may be updated one or more days after the event, for example when invalid traffic is found. So the total you see in the app at 10:00 is not final. A jump 2 hours later can be a click that was reported late, not a new one.
Why analytics shows one visit and Ads shows 2 clicks
Google lists these reasons why Ads clicks and Analytics sessions differ:
- A person can click your ad several times in a short period.
- A person can click and leave before the Analytics tag loads.
- Cookie consent, blockers or a redirect can stop Analytics from seeing the visit.
So one session in Analytics does not prove you paid for one click only.
What Google does with invalid clicks
Google says you are not charged for invalid clicks. Most are filtered in real time. Some are found after the invoice is issued, and then you get a credit on a later bill. You can see this in 2 places:
- The Invalid clicks column, which you can add on the Campaigns or Dimensions tab: clicks filtered out and not charged.
- The Invalid Activity Credit Report: Search & PMax, in the Report Editor template gallery: clicks credited back after billing, by campaign.
If it keeps happening
Write down the time, the ad and the cost of each suspect click for a week. If the pattern holds after the numbers settle, those notes are what Google support needs to look at it.
Check the invalid clicks yourself
Ads MCP connects your AI assistant to your Google Ads account in read only mode. With run_gaql_query you can ask for metrics.invalid_clicks and metrics.invalid_click_rate per campaign and day, next to clicks and cost, without opening the column menu.
Ads MCP is a read-only Google Ads connector for ChatGPT, Claude and other AI assistants. It finds the searches that spend without converting and hands you a file to import. Free: 50 tool calls a month.
More from the blog
Can a negative keyword list get too long?
Every week another junk search spends money, so you add it, and the list keeps growing. Length itself does not hurt, but Google has hard limits and one-off negatives are the slow way to block waste. Here are the limits and how to shrink a list without losing what it blocks.
Did a max CPC cap on Target CPA hurt your campaign?
Random expensive clicks push many advertisers to move a Target CPA campaign into a portfolio strategy just to set a max CPC cap. Then the campaign stops spending. Here is what Google says about bid limits, what to look at, and how to test the cap instead of guessing.
Tracking Google Ads phone leads in the EU with cookie consent
With a proper cookie banner, many visitors who click your ad never show up in your reports, and phone leads get lost with them. Calls from the ad itself and calls from the website are 2 different problems. Here is what Google offers for each, and what to do in a country without Google forwarding numbers.