Campaign Performance
See how each marketing campaign performs in Shopify using GA4 data, with sessions, ad clicks, checkouts, transactions, ad cost, and ROAS in one view.
What Is the Campaign Performance Report?
The Campaign Performance report groups your Google Analytics 4 data by individual campaign, so you can see what each named campaign brought in and what it cost. It pulls the campaign name and its channel group, then lines them up against sessions, ad clicks, checkouts, transactions, revenue, ad cost, and return on ad spend.
The report sits between two other GA4 reports and it helps to know the difference. Channel Performance stops at the channel level, such as Paid Search or Email, and does not include cost. This report goes one level deeper to the campaign inside each channel and adds spend and ROAS, so profitability is readable per campaign rather than per channel.
Because it carries both revenue and ad cost, it answers a question a traffic-only report cannot: not just which campaigns sent people to your store, but which ones actually paid for themselves.
Which Fields Are Included in the Campaign Performance Report?
These fields let you judge each campaign on reach, engagement, sales, and cost efficiency in a single row.
You can customize the pre-made report by adding, removing, or rearranging fields so the columns match how you review campaigns.
Important Insights You Can Find in This Report
Which campaigns actually earn back their spend?
Read Total Revenue and Advertiser Ad Cost together, then confirm with Return on Ad Spend, and do it within each Session Default Channel Group. A campaign can generate high revenue and still be a poor use of budget if its cost is high enough to pull ROAS down. Grouping by channel first stops you from comparing a search campaign against an email campaign that never had a cost to begin with. The campaigns to scale are the ones holding strong ROAS at meaningful revenue, not just the ones at the top of the revenue column.
Are your ad clicks surviving the trip to your store?
Compare Advertiser Ad Clicks against Sessions for the same campaign. These should be reasonably close. A large gap, where clicks far exceed sessions, points to something breaking between the ad and the site: slow or broken landing pages, tracking that is not firing, redirect loss, or low-quality clicks. This is worth checking before you judge a campaign on ROAS, because you may be paying for clicks that never became measurable visits.
Where does a campaign lose buyers at the final step?
Look at Checkouts against Transactions per campaign. Checkouts tells you how many people started the purchase; Transactions tells you how many finished. A campaign that drives plenty of checkouts but far fewer transactions is bringing in the right intent and losing it at payment. That is a very different problem from a campaign with few checkouts to begin with, and it points to checkout friction rather than targeting.
THE ANALYST'S READ: The Signal Most Merchants Miss
A strong campaign ROAS can quietly overstate the campaign's own contribution when the campaign lives inside a high-intent channel group. Check where each high-ROAS campaign sits in Session Default Channel Group. If your best returns cluster in channel groups that already lean toward branded or direct-style intent, some of that revenue may have arrived regardless of the campaign, which makes the ROAS look better than the campaign truly earned. Compare it against a campaign posting a similar ROAS in a colder channel group like Paid Social. The colder-channel campaign is often creating demand rather than harvesting it. This is worth checking before shifting budget, because ROAS alone will steer you toward the campaigns that take credit most easily rather than the ones doing the hardest work.
How Can You Automate the Campaign Performance Report?
Open the pre-made Campaign Performance report in Report Pundit and save it with the columns already set, or rebuild it under Custom Reports using the fields above. Once your date range and any filters are in place, schedule it to send by email on a daily, weekly, or monthly cadence so it refreshes without manual work. You can also export it to Excel, CSV, or PDF, or push it to Google Sheets or Google Drive, and route it to teammates, a VA, or your media buyer on the same schedule.
Frequently Asked Questions
Where does the data in the Campaign Performance report come from?
It comes from Google Analytics 4. The campaign names, channel groups, sessions, clicks, checkouts, transactions, revenue, cost, and ROAS are GA4 metrics and dimensions, not Shopify order data. This is why figures here can differ from Shopify-native reports that use different attribution rules.
What is the difference between the Campaign Performance and Channel Performance reports?
Channel Performance groups data at the channel level, such as Email or Paid Search, and focuses on the engagement funnel without ad cost. Campaign Performance drills down to the individual campaign inside each channel and adds Advertiser Ad Cost and Return on Ad Spend, so you can judge spend efficiency per campaign.
How is Return on Ad Spend calculated in this report?
ROAS is the campaign's Total Revenue divided by its Advertiser Ad Cost. A value of 4 means four units of revenue were earned for every unit spent. It only reflects the cost imported from linked ad platforms, so campaigns with no recorded cost will not produce a meaningful ROAS.
Why might Advertiser Ad Clicks be higher than Sessions for a campaign?
Clicks and sessions are counted differently, and some clicks never turn into a tracked session. Common causes are visitors leaving before the page loads, tracking not firing, redirect loss, or invalid clicks. A consistently large gap is worth investigating before you evaluate the campaign's ROAS.
Can I schedule or export the Campaign Performance report?
Yes. It can be exported to Excel, CSV, or PDF, sent to Google Sheets or Google Drive, and scheduled to arrive by email on a daily, weekly, or monthly basis to any recipients you choose.