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.

Table of contents

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.

Field What it shows
Session Default Channel Group The channel GA4 assigned to the session, such as Paid Search, Organic Search, Direct, Email, or Paid Social. Gives each campaign its channel context.
Session Campaign Name The campaign tied to the session. This is the row-level grouping the whole report is built around.
Sessions The number of visits attributed to the campaign during your selected date range.
Advertiser Ad Clicks Clicks recorded on ads from linked advertising platforms for that campaign.
Checkouts The count of checkout events started by visitors from the campaign.
Transactions The number of completed purchases attributed to the campaign.
Total Revenue The revenue GA4 attributes to the campaign, including purchases and any other revenue types it tracks.
Advertiser Ad Cost The ad spend imported from linked platforms for that campaign.
Return on Ad Spend Revenue divided by ad cost for the campaign, showing return earned per unit of spend.

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.

Report Not Found
Let's create it!
Your request is in! Check out all reports with the button below.
* Error. Please input correct email

Related Reports

Build and automate your
Shopify Reporting

Unlock the full potential of your Shopify store with Report Pundit.Gain access to over 2000 data fields, automate reports, and makedata-backed decisions to grow your business.

Field What it shows
Date The date associated with the report row.