Universal Pixel Debugger

Guides

Why one Google Ads hit shows up as several requests

Updated 2026-09-28

When you watch a page with the Google tag, a single Google Ads conversion or page hit often shows up as two, four or more requests. That is usually normal: the tag sends the same hit in several request formats (the conversion request, a view-through request and a CCM request), once per Ads account, and sometimes through the site's own domain. Seeing several requests is not, by itself, evidence of double counting.

What you see

In the browser's network log or in a tag debugger, one action produces a burst of Google requests within a second or two. On a live store, a single add to cart produced six Google Ads requests: four add_to_cart hits and two requests named conversion. On another, one view_item went to two Ads accounts as four requests. The paths differ, the fields differ slightly, and some requests carry a value without a currency while others carry both.

Why it happens

Several request formats for one hit

The Google tag can send one hit in more than one format. Each format has its own path and its own set of fields.

PathWhat it carriesHow the extension labels it
/pagead/conversion/<id>/, /pagead/1p-conversion/<id>/The conversion request: en, label, value, currency_code, order and item fields. The account ID is in the path.No format label (shown as "other" inside a grouped row)
/pagead/viewthroughconversion/<id>/The view-through request for the same account, with the account ID in the pathview-through
/ccm/collect, /ccm/conversion/<id>/The CCM request, with the event name in en and the account in tid (AW-…)CCM
/measurement/conversionA Google Ads conversion sent by a GA4 tag: tid is the G- tag ID, plus en and the usual value, currency, order and item fieldsGA4 conversion, with a note that the destination is the GA4 tag

To recognize the format of a request, look at the path. The account appears as a number in the path for conversion and view-through requests, and as AW- followed by the same number in tid for CCM. The extension treats both as the same destination.

One hit per Ads account

A site can have more than one Google Ads account installed. The tag then sends the whole set of formats once per account. Two accounts times two formats gives four requests for one view_item. The second account's requests can arrive a second or two after the first.

First-party paths (Google tag gateway)

With the Google tag gateway, the same requests go to the site's own domain instead of Google's hosts, under a measurement path such as <site>/<path>/gs/…, /as/d/…, /g/d/… or /d/…. These requests carry tid or gtm. A site that mixes gateway and direct requests can look as if it sends everything twice; check the hosts before concluding that.

GA4-linked conversions

A /measurement/conversion request is sent for a GA4 tag. Its tid is the G- tag ID, not an Ads account, and which Ads account receives it is set in Google, not in the request. If the page also runs GA4, any GA4 hit for the same event is a separate request to GA4, shown in its own lane.

Fields that differ between formats

The formats do not carry identical fields, by design. The conversion request often adds an oid of the form GG_<number>.<time>, which the Google tag generates itself, even on page views; it is not a real order ID. On a live store, the conversion requests sent value with currency_code, while the view-through and CCM requests sent the value with no currency. Compare fields only between requests of the same format.

Requests that are not Google Ads events

How to check with Universal Pixel Debugger

  1. Open the side panel with the toolbar icon on the site, click Clear, then do the action you want to test.
  2. In the Events list, look for the Google Ads row. Requests with the same exact sent name on the same page visit, sent to different destinations or in different formats within 3 seconds (or with the same event ID), show as one row with ×N. It reads "to N destinations" (plus "· M requests" when there are more requests than destinations), or, for one account, the formats, for example "CCM + view-through".
  3. Expand the row to see each request. Open one to read its Request format, destination, conversion label, and value and currency with the key each came from.
  4. If a value, currency, products or order ID differ between accounts within one format, the row shows a warning and the Issues list names what each destination received.
  5. Check the Issues list for Potential duplicate. It is raised only when the same destination, request format, conversion label and exact sent name repeat an event ID or order ID within 3 seconds. Different formats of one hit never raise it.
  6. Open the Requests view to see each endpoint. Gateway requests keep their original first-party URL there.

The grouped row is a display aid. Every request stays separate in the issues, comparisons and exports, and an HTTP success response does not prove that Google Ads accepted or counted the conversion.

What to fix

For repeated purchases across networks, see duplicate purchase events. For value differences between Meta and GA4, see Meta and GA4 revenue mismatch. Field-level details are on the Google Ads reference.