Contact me

A Step by Step Guide to Pulling Campaign Reports in GA4

by Kevin Bekker | Aug 12, 2026

Every client who switched from Universal Analytics to GA4 asks me some version of the same question. Where did my campaign report go? The honest answer is that it did not disappear, it moved, and Google reorganized the acquisition reports in a way that trips up even experienced marketers the first few times.

I pull campaign reports out of GA4 for clients every week, checking whether a paid push, an email send, or a seasonal promotion actually moved the needle. This is the same kind of methodical check I bring to a technical SEO audit, just pointed at campaign performance instead of crawl data. Here is exactly how I do it, step by step, so you can pull the same report for your own business without guessing which menu it is hiding in.

Start in the right report or you will get the wrong answer

GA4 splits acquisition data into two separate reports that answer different questions, and picking the wrong one is the most common mistake I see. The Traffic Acquisition report shows every session and which campaign or source brought that session to your site, no matter when that user first showed up. The User Acquisition report shows only the first touch, meaning it credits whichever campaign brought a user to your site the very first time, even if that visit happened months ago.

If you want to know how a campaign performed this month, Traffic Acquisition is almost always the right choice, because it reflects everything happening right now. User Acquisition is better for answering a different question, which channels are responsible for bringing in new customers in the first place. Mixing these two up is why I have seen business owners insist a campaign generated zero results when it actually drove plenty of return visits, just not first time visits.

Here is exactly how I pull the report

Once you know which report answers your question, the steps are the same every time.

  1. Open Reports in the left navigation, then Acquisition. This is the section GA4 replaced the old Universal Analytics acquisition menu with, and it holds both reports you need.
  2. Choose Traffic Acquisition for a campaign performance check. Click into it from the acquisition menu.
  3. Change the primary dimension to Session campaign. By default GA4 shows Session default channel grouping, which lumps everything into broad buckets like Paid Search or Organic Social. Click the dropdown above the table and switch it to Session campaign to see individual campaign names instead of broad categories.
  4. Set your date range to match the campaign window. Use the date picker in the top right and set it to the exact dates the campaign ran, not a generic default like the last thirty days.
  5. Turn on comparison against the previous period. This shows whether the campaign period actually outperformed a normal stretch of time, not just whether it produced some traffic.
  6. Add a secondary dimension if you need more detail. Clicking the blue plus icon next to the primary dimension lets you add something like Session source or Device category, which is useful when one campaign runs across multiple platforms.
  7. Export the table once it looks right. The export icon in the top right of the table lets you pull the data into a spreadsheet for anything beyond what fits cleanly in the GA4 interface itself.

That sequence covers the vast majority of campaign report requests I get from clients, whether they are checking a single paid push or comparing several campaigns side by side.

Numbered path in Google Analytics brand colors showing the sequence to pull a GA4 campaign report, from the Acquisition menu through exporting the table

Why UTM tagging determines whether this report tells you anything at all

None of the steps above work if your campaign links were not tagged correctly in the first place. GA4 populates the Session campaign dimension directly from the utm_campaign parameter on your URLs, so a campaign sent without proper UTM tags shows up as an untitled or unattributed session instead of a named campaign you can actually analyze.

Kevin Bekker

Kevin Bekker

Digital Marketing Leader

Kevin Bekker has spent more than 20 years leading digital marketing programs across enterprise brands, agencies, and independent businesses. Based in Portland, Oregon, he now takes on a limited number of consulting engagements in SEO, paid media, analytics, and fractional CMO advisory. See Kevin's full experience →