When marketers look at Google Analytics reports and see sessions tagged display / cpc, understanding what that label actually represents can be confusing. The pair is a source and medium combination that GA4 uses to categorize and report paid display traffic, but its appearance in your reports isn't always straightforward. Sometimes it accurately represents paid display campaigns, while other times it signals a tagging issue or an unexpected data flow from partners like Google Ads or DV360.
What does display / cpc mean in Google Analytics 4?
The display / cpc label in GA4 is a source / medium combination applied to sessions that originate from display advertising purchased on a cost-per-click basis. At a high level, this traffic arrives from banner ads, programmatic exchanges, or visual campaigns where the advertiser pays for each click rather than per impression. GA4 infers or reads the medium as "cpc" when the traffic source signals paid click activity, and "display" is used as the source when the campaign type or network is determined to be display.
What does display / cpc mean in Google Analytics?
In both Universal Analytics and GA4, display / cpc describes paid traffic originating from display networks or visual ad placements. The medium "cpc" stands for cost-per-click, meaning the campaign pricing model was based on clicks, not impressions or video views. The source "display" indicates the ad format or network type. While GA4 groups this traffic into the "paid display" channel by default, the exact mechanics depend on how your campaigns are tagged and which platforms send the data. If Google Analytics receives a session referral or URL parameter that combines these signals, it will bucket the session as display / cpc. When cost data accompanies the session, you'll also see CPC metrics populated in your reports.
How GA4 defines source and medium
GA4's event-driven model assigns every session a traffic source and a medium based on the last referring parameter or automatic classification. Source: where the session originated (e.g., a domain, an ad platform, or an internal tag). Medium: the type of marketing activity, such as organic, cpc, display, or referral. Together, they form a source / medium pair that GA4 uses to slot sessions into default and custom channel groupings. When you enable autotagging or apply manual UTM parameters, those labels override the referrer-based defaults. This hierarchy ensures GA4 can classify traffic consistently even when multiple tagging methods coexist.
How source / medium pairs create channel groupings
GA4 uses predefined rules to map source / medium pairs into channel groupings like Paid Search, Organic Social, or Paid Display. The logic works like this: if the medium matches one of GA4's recognized patterns (such as "cpc", "ppc", "paidsearch"), and the source fits the expected ad platform (like "google", "bing", or "display"), the session is assigned to the corresponding channel. Pitfall: when your tagging doesn't align with GA4's expectations, traffic can land in the wrong channel or appear as (not set). Fix: audit your UTMs and autotagging settings so medium values remain consistent. Result: accurate channel reports and reliable cost-per-click calculations. When working with programmatic platforms, consistency matters even more. DV360 is Google's advanced display buying module (a DSP), and it can use autotagging just like Google Ads and Bing can.
Why traffic appears as display / cpc
Sessions arrive tagged as display / cpc when one of three things happens: your campaign URL contains UTM parameters that set source=display and medium=cpc; an ad platform's autotagging mechanism passes gclid or similar click IDs that GA4 translates into display / cpc; or GA4 applies inference rules based on referrer domains and campaign metadata. Each path produces the same end result in your reports, but the underlying data quality and attribution can vary dramatically.
Common scenarios that produce display / cpc
Manual tagging is the most transparent path: you add `?utm_source=display&utm_medium=cpc` to every display ad URL, and GA4 respects that labeling. Autotagging from Google Ads or DV360 dynamically appends gclid or dclid parameters; when those platforms share cost and campaign data, GA4 maps them to display / cpc. Third-party platforms such as DSPs or social networks may inject their own parameters or referrer strings that GA4 interprets as display advertising. Collision risk: when manual UTMs and autotagged parameters both exist on the same URL, GA4 prioritizes the manual tags, which can fragment your cost data.
Auto-tagging versus manual UTM tagging and the impact on medium
Google Ads and DV360 autotagging appends gclid or dclid to landing page URLs, telling GA4 to fetch campaign details directly from the ad platform. This method automatically labels traffic as google / cpc or display / cpc depending on campaign type. Manual UTM tagging gives you full control but requires discipline: every URL must carry consistent utm_source, utm_medium, utm_campaign, and (where relevant) utm_content parameters. When you mix both approaches, the manual UTMs always win, blocking autotagged cost imports and splitting your reporting. Best practice: choose one tagging strategy per platform and document it. If you use autotagging, ensure it is enabled and that GA4 is linked to your ad accounts. If you prefer manual tags, enforce naming conventions and build checks into your trafficking process so utm_medium=cpc remains uniform across all display campaigns.
How cost and cpc data get into GA4
Cost metrics like cost per click, total ad spend, and ROAS require GA4 to receive structured data from your ad platforms. That data flows in through linked accounts (Google Ads, DV360, Search Ads 360), through manual cost data imports, or via third-party integrations. Without one of these pipes, your display / cpc traffic will show sessions and conversions but zero cost, leaving CPC metrics blank or undefined.
Google Ads autotagging and linked accounts
When you link your Google Ads account to GA4 and enable autotagging, every click from a Google Ads campaign appends a gclid parameter. GA4 uses that gclid to pull campaign name, ad group, keyword (for search), and cost data from Google Ads each day. The medium is set to "cpc" automatically, and the source defaults to "google" for search or "display" for GDN placements. Verify the link in GA4 Admin > Data display > Google Ads Links. Confirm autotagging is on in Google Ads Account Settings > Auto-tagging. Check that your landing pages preserve the gclid parameter and that redirects or tracking scripts don't strip it away.
DV360 and autotagging: how programmatic cost data is passed to GA4
DV360 can use autotagging to append dclid parameters to display ad clicks, similar to how Google Ads uses gclid. When you link DV360 to GA4 via Campaign Manager 360 or directly through the Marketing Platform integrations, GA4 can fetch cost, impressions, and campaign metadata automatically. The sessions appear as display / cpc because the medium is inferred from the campaign type (display + CPC pricing model). If the link is active and autotagging is enabled, you'll see cost data flow into your GA4 Advertising workspace within 24 hours. If cost data is missing: audit the account link in GA4, confirm dclid is present in your URLs, and check that your DV360 advertiser ID is correctly mapped in Campaign Manager.
Other partners, manual imports, and data streams
For non-Google platforms (Meta, LinkedIn, TikTok, or programmatic DSPs), cost data won't flow automatically. You can upload it manually via GA4's Data Import feature under Admin > Data display > Data import > Cost data. Prepare a CSV with columns for source, medium, campaign, date, ad_cost, ad_clicks, and ad_impressions. Map those fields in GA4 and schedule periodic uploads or automate with server-side tracking tools. Without manual imports, your display / cpc traffic from these platforms will report engagement and conversions but no spend or CPC metrics.
Troubleshooting missing or incorrect cost data for display / cpc
When sessions show display / cpc but cost columns read zero, or when the CPC value looks implausibly high or low, the root cause usually lies in tagging conflicts, broken account links, or incorrect campaign settings. Start with an audit checklist before diving into advanced attribution or channel configuration.
Audit steps: verify links, autotagging, and UTM collisions
First, confirm that your Google Ads or DV360 account is linked to the correct GA4 property and that the link status is active. Second, check that autotagging is enabled in each platform's account settings. Third, inspect a sample of landing page URLs from recent display campaigns: look for gclid or dclid parameters and ensure they persist through any redirects or tracking layers. Fourth, test for UTM collisions: if manual utm_source or utm_medium parameters appear alongside gclid, GA4 will use the manual tags and ignore the autotagged cost import. Fifth, review your programmatic ad setup and confirm that impression and click events are being passed to GA4. When you find a parameter mismatch, document which campaigns are affected and whether it's a global tagging issue or a one-off trafficking error.
How to check GA4 attribution and channel grouping for mislabels
Navigate to Reports > Acquisition > Traffic acquisition and add a secondary dimension for "Session source / medium." Filter the table to rows containing "display / cpc" and compare session counts, conversions, and cost metrics against your ad platform dashboards. Look for discrepancies: if GA4 shows sessions but zero cost, the link or import is broken. If CPC is unexpectedly high, you may have duplicate sessions or a currency mismatch. Open the channel grouping configuration (Admin > Data display > Channel groups) and verify that the rule for "Paid Display" correctly includes `medium matches regex ^(display|cpm|banner)$` or your custom pattern. If display / cpc traffic is falling into "Other" or "(not set)," your channel rules may be incomplete or overly restrictive. Clone the default channel group, adjust the regex to match your tagging conventions, and apply it retroactively to past data where possible.
How to fix incorrect display / cpc tagging (practical steps)
Fixing tagging issues requires a three-phase approach: audit existing campaigns, enable and verify autotagging, and import or map cost data from sources that don't integrate natively. Each step builds on the previous, and skipping one can leave gaps in your reporting.
Step 1: audit and document current tagging
Pull a report of all active and paused display campaigns from your ad platforms. For each campaign, note the destination URL, the presence (or absence) of UTM parameters, and whether autotagging is enabled. Export a sample of click URLs and inspect them for gclid, dclid, or manual UTMs. Build a spreadsheet with columns for Campaign Name, Platform, URL Template, Auto-Tag Status, Manual UTMs, and Cost Import Method. Highlight campaigns where manual and auto parameters coexist or where utm_medium doesn't match your naming convention. Use this inventory to prioritize fixes and communicate changes to stakeholders who rely on the data.
Step 2: enable or confirm autotagging and link accounts
In Google Ads, go to Settings > Account settings > Auto-tagging and toggle it on. Save the change and wait 30 minutes for it to propagate. In DV360, ensure your Campaign Manager 360 advertiser is linked and that Floodlight activities are mapped to GA4 conversions. In GA4, navigate to Admin > Property > Data display > Google Ads Links and verify the link shows as "Active" with data import enabled. Test by clicking a display ad from your own campaign; confirm gclid appears in the URL and that the session lands in GA4 within a few hours. Repeat for DV360 using dclid. If autotagging is blocked by IT policies or redirects, work with your development team to whitelist those parameters and ensure they pass through your tracking stack.
Step 3: import cost data or map third-party cost files
For platforms without native GA4 integration, export daily cost data as a CSV. Include source, medium, campaign, date, clicks, impressions, and spend. Format the date column as YYYYMMDD and ensure source and medium values match exactly what appears in GA4 (case-sensitive). In GA4, go to Admin > Data import > Cost data and create a new data set. Map your CSV columns to GA4's schema and upload the file. Schedule recurring uploads using a script or an automation tool like Make.com or Zapier. Validate the import by checking the Advertising workspace for updated spend and CPC values. If discrepancies persist, re-export the data, verify column mappings, and confirm your source / medium strings are identical to the live traffic dimensions.
How to interpret display / cpc in reports and optimise campaigns
Once your tagging and cost imports are clean, you can use display / cpc data to benchmark performance, identify underperforming creatives, and allocate budget more effectively. The key is distinguishing between true paid display performance and misattributed traffic that only looks like display.
When display / cpc represents paid display performance vs misattribution
True paid display traffic should have session source values that match your ad platforms (e.g., google, dv360, criteo) and carry valid campaign names, ad group IDs, or creative identifiers. Misattributed sessions often show generic sources like "display" or "banner" with no campaign detail, or they appear with suspiciously low engagement rates and zero cost. Cross-reference GA4 sessions with your ad platform's click counts: if GA4 shows 1,000 sessions and your DSP reports 800 clicks, investigate bot traffic, redirect loops, or UTM leakage. Use the Session source / medium breakdown and add filters for Campaign Name (not set) or Cost = 0 to isolate suspect traffic. Once confirmed, exclude those sessions from performance calculations or create a separate segment for analysis.
Using CPC metrics sensibly: benchmarks and what to watch
A healthy display CPC typically ranges from €0.20 to €2.00 depending on geography, industry, and campaign objective. Watch for sudden spikes or drops: a doubling of CPC may indicate auction competition, while a halving could signal low-quality inventory or bid-floor changes. Compare CPC against engagement rate, average session duration, and conversion rate to assess quality, not just cost. Pitfall: treating all display / cpc traffic as a single homogeneous channel. Fix: segment by campaign, creative format, audience type, and device. Result: you'll identify which display tactics drive conversions at acceptable cost and which burn budget with minimal return. Monitor cost per acquisition (CPA) and return on ad spend (ROAS) alongside CPC to guide bid adjustments and creative refresh cycles.
Best practices to keep channel data clean and cost metrics reliable
Clean data requires governance, not just tools. Establish naming conventions, enforce required UTMs through trafficking templates, and schedule regular audits to catch drift before it fragments your reporting.
Governance: naming conventions, required UTMs, and monitoring cadence
Document a tagging policy that specifies utm_source, utm_medium, utm_campaign, utm_content, and utm_term patterns for every channel. For display, agree on values like `utm_medium=cpc` or `utm_medium=display` and prohibit variants like "Display", "banner", or "cpm" unless they serve a distinct business purpose. Require creative and trafficking teams to use URL builders that enforce the policy. Automate QA by scraping live campaign URLs weekly and flagging deviations. Set up GA4 Explorations with filters for "(not set)" or unexpected source / medium combinations; share these reports with stakeholders monthly. Review cost import logs in GA4 Admin and validate that uploaded files cover 100 percent of your ad spend. When you spot anomalies, investigate within 48 hours to prevent compounding errors across attribution models.
Contact 6th Man for help with GA4 channel setup and cost reporting
Getting display / cpc tagging right is foundational, but it's only one piece of a comprehensive analytics and growth strategy. If you're wrestling with fragmented cost data, misattributed conversions, or channel groupings that don't reflect your actual marketing mix, 6th Man can help. We audit your tracking stack, rebuild tagging governance, link ad platforms correctly, and set up automated cost imports so your GA4 reports finally match your ad dashboards. Whether you need a one-time cleanup or an ongoing analytics partner embedded in your team, we deliver senior-level expertise without the agency overhead. Reach out through our contact page and let's fix your GA4 setup so you can focus on growth, not troubleshooting.



