GA4 conversions not importing into Google Ads
GA4 conversions not importing into Google Ads (F-403) means GA4 records sales from your ads and Google Ads never sees them, so Smart Bidding learns without them. One of five links is broken: the account link, auto-tagging, the key event, the conversion action, or its status. An import left as secondary shows in All conv. only and is not bid on.
Symptom and cause
- Symptom
- GA4 records sales from Google Ads clicks, but Google Ads shows no GA4 conversions, or the GA4 conversion action sits at zero.
- Cause
- A link in the chain is broken or never made: no link or a link to the wrong Ads account, auto-tagging off or the gclid stripped, no key event, no conversion action created from it, or an import left secondary, so it shows in All conv. only and nothing bids on it.
- Where it's caught
- Google Ads Goals with no Google Analytics source; GA4 Product links pointing at another customer ID; google / cpc sales with the campaign (not set).
Why GA4 conversions don't reach Google Ads: five links
A GA4 sale reaches Google Ads through five links. Each is set separately. Any one of them missing gives the same symptom: GA4 has the sale, Google Ads does not. This page covers web data streams. App conversions are imported on different terms (always on Google paid channels) and are not filed here.
The account link. GA4 and Google Ads have to be linked, and linked to the Ads account that runs the campaigns. A link to an old account, or to a manager account that does not hold them, looks fine and sends nothing useful. Clicks from an unlinked account still arrive in GA4 as google / cpc, but the Google Ads dimensions, such as campaign, read (not set). The exhibit below is this link on record: linked, to an account that no longer runs the ads.
Auto-tagging. Google Ads adds a click id, the gclid, to every ad URL, and GA4 uses it to credit the visit to the ad. Google lists auto-tagging as a requirement for the import, and the gclid has to survive every redirect to the final landing page. Strip it and the visit becomes organic or direct in GA4. That sale is never credited to Google Ads, so there is nothing to import.
The key event. Only key events, the GA4 events marked as the outcomes that matter, become Google Ads conversion actions. If the purchase or lead was never marked, the Google Ads import has nothing to offer. GA4's own import route marks a plain event for you when you pick it.
The conversion action. Linking imports nothing on its own. Someone has to create the conversion action from the key event. Google says data can take up to 24 hours to appear after that. Nothing from before that date comes across.
The status. Actions created from GA4 key events are secondary by default, so Google never counts the same sale twice for bidding. Secondary actions report in the All conv. column, not in Conversions, and by default Smart Bidding (Google's automated bidding) does not use them. The import works and nothing bids on it. If a Google Ads tag already records the same sale, the tag and the import are two counts of one order, and only one of them should be primary. Which one is F-104.
Don't confuse any of this with the normal gap. Google Ads only receives the sales GA4 credits to Google Ads clicks, so the imported number sits below GA4's purchases. Lower is expected. Zero, or a flatline from a known date while the ads spend, is F-403.
| Check | Reads | Verdict |
|---|---|---|
| GA4 · Product links → Google Ads links | 1 link · 412-…-7781 | linked |
| Google Ads account running the campaigns | 318-…-2046 | not the linked one |
| GA4 · purchases, google / cpc | 214 · campaign (not set) | sales are there |
| Ads 318-…-2046 · Goals → Conversions | no Google Analytics source | nothing imported |
How to catch it
- Start in Google Ads: Goals → Conversions → Summary. Look for a conversion action whose source is Google Analytics (GA4). None at all means the import was never made: check the link next. One is there: note whether it is Primary or Secondary, then add the All conv. column to the campaign view. Numbers in All conv. and none in Conversions is the status problem: the import works, and it is set to secondary. No Ads access yourself? Ask whoever runs the account for a screenshot of that screen.
- Check the link points at the right account. In GA4, Admin → Product links → Google Ads links shows the customer ID on each link; in Google Ads, Tools → Data manager lists the linked GA4 properties. Compare the ID with the one at the top of the account that runs the campaigns. A link to an old account, or to a manager account that does not hold these campaigns, is the fault.
- Check GA4 for the giveaway. Open Reports → Acquisition → Traffic acquisition, filter to google / cpc and add session campaign as a secondary dimension. Purchases there with the campaign as (not set) point at a link to the wrong account, or none. Ad clicks landing under organic or direct point at a lost gclid instead.
- Check auto-tagging and the gclid. In Google Ads, Admin → Account settings → Auto-tagging should be ticked. Then open your landing page with ?gclid=test added to the URL and follow every redirect. If the parameter is gone on the final page, a redirect or the site is stripping it, and GA4 cannot credit that visit to Google Ads (the lost click id is filed as F-204).
- Check the key event. In GA4, Admin → Data display → Events: the purchase or lead should show Mark as key event switched on. An event GA4 has not collected yet can be marked in advance under Admin → Data display → Key events → New key event, using the exact event name.
- Rule out timing before calling it. Google says up to 24 hours after the action is created, and nothing from before that date comes across. Zero in Google Ads while GA4 shows google / cpc purchases over the same two days is not a delay (the two days are a rule of thumb, not Google's figure).
What putting it right involves
- (GA4 Editor plus Ads admin) Link the account that runs the ads. In GA4, Admin → Product links → Google Ads links → Link, choose the account (or request access), leave auto-tagging on, submit. Or from Google Ads: Tools → Data manager → + Connect Product → Google Analytics (GA4) & Firebase. If several accounts run ads, link each one.
- (Ads admin) Turn auto-tagging on and keep the gclid alive. Admin → Account settings → Auto-tagging. Then fix any redirect or plugin that drops query parameters, so ?gclid= arrives on the final landing page. Test with the parameter added by hand, not by clicking your own ad.
- (GA4 Marketer or above) Mark the outcome as a key event: the purchase, or the qualified lead. Mark as key event on the Events list, or Key events → New key event for an event not yet collected.
- (GA4 Marketer or above plus Ads admin) Create the conversion action. In Google Ads, Goals → Summary → Create conversion action, then pick the GA4 property and the key event. If your property has it, GA4's Advertising → Tools → Conversion management does the same from the other side. One action per business outcome. Note the date, because nothing before it comes across.
- (Ads admin) Decide whether it bids. The new action is secondary by default and reports in All conv. only. If it should drive Smart Bidding, make it primary, and in the same sitting set any Google Ads tag action for the same sale to secondary. Two primary actions on one sale mean Google Ads sees twice the sales and bids on a number that is not real (F-104).
- (GA4 Marketer or above) Set the attribution channel on purpose. Admin → Data display → Events → Attribution settings → Channels that can receive credit. Google paid channels is the default for Google Ads. Paid and organic channels (web only) moves the counting method and conversion window into GA4, so later changes are made there, not in Ads.
- (Anyone) Verify after 48 hours of normal ad spend. The action should be non-zero in All conv., and in Conversions if you made it primary, and in the same range as GA4's google / cpc purchases over the period. A day-by-day match is not expected: the two tools can date the same sale differently. If GA4 still shows google / cpc sales with the campaign (not set) after linking, or ?gclid= disappears before the landing page, the cause is in the site or the account structure, not the settings.
Sources on file
- Analytics: Link Google Ads and Analytics (Editor or Administrator on the property, admin access in Ads, Product links → Google Ads links, auto-tagging option, unlinked clicks show Google Ads dimensions as (not set))support.google.com
- Google Ads: Product linking, link GA4 properties and Google Ads (Tools → Data manager → + Connect Product → Google Analytics (GA4) & Firebase; Edit permission in GA4, admin in Ads)support.google.com
- Google Ads: Create conversions from Google Analytics events in Google Ads (link plus auto-tagging, key event first, Marketer in GA4 plus Ads admin, the gclid must reach the site intact, up to 24 hours, no data from before the import, GA4 route may not be available to every property)support.google.com
- Google Ads: Create Google Ads conversions based on Google Analytics key events (Advertising → Tools → Conversion management, events picked there marked as key events, actions set to secondary)support.google.com
- Analytics: Mark events as key events (Mark as key event on a collected event; Key events → New key event to mark one in advance; Marketer or above)support.google.com
- Google Ads: About primary and secondary conversion actions (secondary actions report in All conv.; a secondary action in a custom goal can be bid on)support.google.com
- Analytics: Select attribution settings (Channels that can receive credit: Google paid channels is the default for Google Ads; Paid and organic channels is web only and moves counting method and conversion window to Analytics; changes apply going forward and may take a few days)support.google.com
- Google Ads: About auto-tagging (the gclid, Admin → Account settings → Auto-tagging, pass the gclid through redirects to the final landing page)support.google.com
Cited in these case files
F-403 turns up as evidence across the archive. It is cited in:
- SYMPTOM Google Ads conversion value doesn't match actual revenue: reconcile it step by step Google Ads value below the store is normal: Ads counts only sales after its own ads. Above it usually means one of six things: another primary action carrying a value, value rules or new-customer value, refunds never uploaded, a tag value with tax, shipping or the wrong currency in it, a purchase counted twice, or a fixed value on every order.
- SYMPTOM GA4 and Google Ads numbers don't match: which gaps are normal and which are faults The hub for "GA4 and Google Ads don't match". A lower imported number is one of the normal gaps listed there. Google Ads showing nothing from GA4 at all is this code.
Questions on this file
Why are my GA4 conversions not importing into Google Ads?
One of five links is missing: the accounts are not linked (or linked to a different Ads account), auto-tagging is off or a redirect strips the gclid, the event is not a key event, no conversion action was created from it, or the import works but is secondary and only shows in All conv. Check Goals → Conversions → Summary in Google Ads first: no Google Analytics source there means the import was never made.
I linked GA4 and Google Ads. Why is there still nothing in Google Ads?
Linking only opens the connection. The conversion action still has to be created, in Google Ads under Goals → Summary → Create conversion action, or in GA4 under Advertising → Tools → Conversion management where the property has it. Until then, Google Ads receives no GA4 conversions, however long the link has existed.
How long do imported GA4 conversions take to show in Google Ads?
Google says up to 24 hours after the conversion action is created, and nothing from before that date comes across. A change to the attribution channel setting can take a few days. After 48 hours of normal ad spend, an action still at zero is a fault, not a delay.
My GA4 conversion is in Google Ads but the Conversions column shows zero. Why?
Actions created from GA4 key events are secondary by default, so they report in All conv., not in Conversions, and by default Smart Bidding does not use them. Add the All conv. column. If the numbers are there, the import works. Make it primary only if no other primary action already counts the same sale (F-104).
Why is the GA4 number in Google Ads lower than GA4's own purchases?
That part is normal. Google Ads only receives the sales GA4 credits to Google Ads clicks, while GA4's purchase total covers every channel. Lower is expected; zero is the fault. The note on why GA4 and Google Ads numbers don't match lists the normal gaps.
Why can't I see my GA4 property or event when importing in Google Ads?
The property only appears in a Google Ads account it is linked to, so check the customer ID on the link. On the Google Ads route the event must already be a key event in GA4. You need at least Marketer on the GA4 property and admin access on the Ads account.