Skip to content

How to clean up Paid Shopping in GA4, step by step

Filter Traffic acquisition to Paid Shopping and add source platform, source / medium and campaign beside it. Every line should be a shopping ad you paid for. If Meta ads turn up, a shop campaign name usually sent them: fix the tags and reorder a custom channel group.

By , Founder & CEOUpdated 8 min read

Open Traffic acquisition, filter it to Paid Shopping and add source platform, source / medium and campaign beside it. Every line should be a shopping ad you paid for. If Meta or other ads turn up, a campaign name with shop in it usually sent them. Fix the tags at the source, then reorder a custom channel group.

Paid Shopping is a rule, and rules do exactly what they say. The job here is to find out what yours said last month.

Step by step

  1. List the campaign types you run. In Google Ads, click All campaigns under the Campaigns icon. If you run more than one type, open the campaign type selector on the Views bar. Shopping campaigns feed Paid Shopping, while Performance Max campaigns, including any the Shopify Google & YouTube app created, feed Cross-network.
  2. Filter Traffic acquisition to Paid Shopping. In GA4, select Reports, then Acquisition > Traffic acquisition. Click + Add filter, choose Session default channel group as the dimension and Paid Shopping as the value. Click OK, then Apply.
  3. Add Session source platform. Click the add button next to the dimension drop-down and choose Session source platform. Google Ads lines are auto-tagged clicks from your Shopping campaigns. Manual lines are tagged links, and that is where strangers hide.
  4. Swap the second column to Session source / medium. Repeat the last step and pick Session source / medium. Google says a second dimension is temporary and disappears when you leave the report, so note what you find. Shopping sites you pay belong here; facebook / paid does not.
  5. Read the campaign names. Open the dimension picker at the top left of the table and choose Session campaign. Mark every name that is not a shopping ad. Look for shop at the start of a name or after an underscore or hyphen, and for shopping anywhere.
  6. Check the two neighbouring rows. Change the filter value to Cross-network and look for your Performance Max campaigns under Session campaign. Then try Organic Shopping with Session source platform beside it. Lines marked Shopping Free Listings are unpaid Merchant Center traffic, and they belong there.
  7. Copy the default group. In Admin, under Data display, click Channel groups, then Create new channel group. That opens a copy of the default group, which Google says cannot be edited itself. Traffic goes to the first channel it matches in the list, so the order is the lever.
  8. Add a Meta ads channel above Paid Shopping. Click Add new channel, name it Meta ads and click + Add condition group. Set Source matches regex ^(facebook|instagram|fb|ig|msg|an|th)$ and Medium matches regex ^(.cp.|ppc|retargeting|paid.*)$, then click Save channel. Click Reorder, drag Meta ads above Paid Shopping, click Apply, then Save group.
  9. Read the report through your new group. Go back to Traffic acquisition, open the dimension picker and choose your group's name. Google says a custom group works as the primary or secondary dimension in the acquisition reports. Your Meta ads row should now hold what Paid Shopping held by mistake.
  10. Fix the tags at the source. Google says custom channel groups cannot be used in the Key events paths report. Your paths export keeps the default labels. In Meta Ads Manager, the URL parameters field sits under Tracking in each ad. Give utm_campaign a value without shop as a word. Meta warns the change may send the ad set back into learning.
  11. Optionally make the group your primary one. At the top of the Channel groups page, click the pencil icon and pick your custom group. Google says data then populates with the new rules from that point forward, so older months keep the old labels there.

A worked example

For illustration, a store's Paid Shopping row shows 2,000 sessions in September, while its only Google campaign is Performance Max. Every figure in this example is invented.

For illustrationWhat the store sees
Session source platformManual on every line
Session source / mediumfacebook / paid
Session campaignshop_the_look
Where Performance Max landedCross-network

The giveaway is Manual on every line: clicks from a Google Ads Shopping campaign would say Google Ads instead. The rule did its job. In this worked example, the campaign name starts with shop and paid counts as a paid medium, so all 2,000 illustrative sessions qualify. Meanwhile, the Performance Max sessions sit in Cross-network, where Google's table puts them.

Now look at the row those sessions should have joined. In one store's export, Paid Social holds 0.0% of revenue on the Channels sheet, in all three views. The export cannot say why. If your own Paid Social row looks that empty while you pay Meta, this is the first cause to rule out.

After the fix, the illustrative 2,000 sessions move to Meta ads in your custom group, past months included. Google says custom channel groups can be applied to reports retroactively. The paths export still says Paid Shopping for those visits. New ads tagged autumn_look arrive as Paid Social from the day they go live.

One trap remains. If utm_campaign uses Meta's campaign name parameter, renaming the campaign changes nothing. Meta sets name-based parameters to the name used when the ad was first published, so edit the parameter itself.

What to check when the report looks wrong

Paid Shopping is empty, but you run Shopping campaigns. In Google Ads, click the Admin icon, then Account settings, then the Auto-tagging section. The box "Tag the URL that people click through from my ad" should be ticked. Google says auto-tagging is prioritised over manual tagging, so hand tags cannot override it.

The campaign column says (not set). Google says missing UTM parameters leave (not set) values in your reports. A shopping-site link with a source and a paid medium but no utm_campaign lands in Paid Shopping with no name to trace. Add the missing parameter to that link.

A shopping source you never paid for shows up. GA4's list of shopping sites includes names such as IGShopping and shop.app. A link from one of those sources with a paid medium lands in Paid Shopping. Find out who tagged it cpc or paid, and whether you are paying for it.

Last month changed after you saved the group. That is expected. Google says an edited channel group applies at once to the underlying data in reports. This may lead to inconsistencies with other reports, so note the date you saved it.

What to do this week

  1. Run the three-column check on last month. Pass: every Paid Shopping line is a Google Ads Shopping campaign or a shopping site you pay. Fail: a Manual line from a social source, so note its campaign name and owner.
  2. Save the group with your fix. Pass: the misfiled sessions show under your new channel, past months included. Fail: they stay in Paid Shopping because the new channel sits below it, so reorder and save again.
  3. Tag the next ads you publish. Pass: a week later, Paid Shopping holds no Manual lines from Meta. Fail: they persist, because an ad still carries the campaign name from its first publish.

Check the homework. Your GA4 Attribution paths export already holds the evidence. Causality Engine reads that one file and shows what each channel caused next to what last-click gave it, in 1 to 2 minutes, for €99 once (excluding VAT), refundable within 30 days. Check the homework

Sources, 1 October 2026: Account, campaign, and ad group performance (Google Ads Help); Advertise your products using Shopping ads (for Shopify users) (Google Merchant Center Help); Traffic acquisition report (Google Analytics Help); Change dimensions in detail reports (Google Analytics Help); Default channel group (Google Analytics Help); GA4 default-channel-group sources and categories (Google Analytics Help (spreadsheet linked from Default channel group)); Custom channel groups (Google Analytics Help); Add URL parameters to your Meta ads in Meta Ads Manager (Meta Business Help Center); Specifications for dynamic URL parameters in Meta Ads Manager (Meta Business Help Center); About auto-tagging (Google Ads Help); Traffic-source dimensions, manual tagging, and auto-tagging (Google Analytics Help).

Frequently asked questions

  • Can I edit GA4's default channel group?
    No. Google keeps one default for every property and says it cannot be edited. You can copy it into a custom channel group and change the rules and order there. You can even make that group your primary channel group, which applies from that point forward.
  • Does a custom channel group fix my attribution paths export?
    No. Google says custom channel groups cannot currently be used in the Key events paths report. Your paths keep GA4's default labels, so a misfiled campaign stays misfiled there until its links carry a new name.
  • Why does renaming my Meta campaign not change GA4?
    Because Meta fills name-based URL parameters with the name used when the ad was first published. Rename the campaign and utm_campaign stays the same. To change it, edit the URL parameters, which Meta warns can send the ad set back into the learning phase.

Go deeper: Incrementality testing, explained.

Sixty-second versions of these ideas: Causality Engine on YouTube Shorts.

Keep reading

Terms in this article

Browse the full glossary

Your platforms guess.
We run the math.

Upload a GA4 export and see what each channel caused, next to last-click, in 1–2 minutes. The read is yours to keep.

Free, in your browser: your file is not uploaded. The full read is €99, refundable within 30 days. Prices exclude VAT.
Or book a 30-min call.