How to Create a Compliance Dashboard in Google Analytics

Cody Schneider

Staying on top of data privacy rules is a must, but it often leaves you wondering how many people are actually agreeing to your analytics tracking. Building a compliance dashboard helps answer that question by showing you exactly how users interact with your cookie consent banner and what that means for your data. This article will walk you through the entire process, from setting up custom event tracking to visualizing your consent rates in a clear dashboard using your Google Analytics data.

Why You Need a Data Compliance Dashboard

Regulations like GDPR in Europe and the CCPA in California have fundamentally changed how we handle user data. It's no longer enough to just have a link to your privacy policy buried in the footer, you need to get explicit consent before running analytics scripts. While this is great for user privacy, it can create a bit of a blind spot for marketers and business owners. What percentage of your visitors click "accept"? How does this vary by country? Does a change in your banner wording help or hurt your opt-in rate?

A compliance dashboard isn’t just about ticking a legal box. It provides clarity on three critical things:

  • Consent Rates: Understand the real number of users you are tracking versus your total site traffic.

  • Business Impact: Quantify the data you're not collecting to better understand reporting gaps and forecast performance.

  • User Experience Optimization: See how changes to your consent banner affect opt-in rates, allowing you to fine-tune your approach.

Without this focused view, you’re basically guessing how much of your audience is missing from your Google Analytics reports. This dashboard turns that guess into a concrete metric you can monitor and improve.

What to Track: Key Metrics for Your Dashboard

Before you build anything, you need to decide what to measure. A good compliance dashboard revolves around a few core metrics that tell the full story of your consent performance. Here are the essential ones to track:

1. Consent Rate: This is the headline metric. It’s the percentage of users who saw the consent banner and explicitly agreed to tracking.

  • How to Calculate It: (Number of "Accept" Clicks ÷ Total Banner Impressions) * 100

2. Consent Choice Breakdown: Users often have more than one option. It's helpful to see a breakdown of which choices are most popular.

  • Example Choices: "Accept All," "Deny All," "Customize Preferences."

3. Consent Rate by Country or Region: This is incredibly important for international sites. Privacy norms and banner effectiveness can vary dramatically by location, and this metric helps you spot issues in specific regions covered by regulations like GDPR.

4. Consent Rate by Traffic Source: Do visitors from your email newsletter consent at a higher rate than visitors from social media ads? Answering this helps you understand user intent and trust levels across different channels.

Step 1: Track Consent Choices in Google Tag Manager (GTM)

Google Analytics won't know about consent choices on its own, you have to tell it what's happening. The standard way to do this is with Google Tag Manager. The process works by capturing events from your Consent Management Platform (CMP) — like Cookiebot, OneTrust, or Termly — and turning them into GA4 events.

Most CMPs "push" information to the GTM data layer when a user interacts with the banner. It might look something like this when a user accepts:

Your job is to catch this information and send it to Google Analytics. Here’s how to set it up step-by-step.

1. Create Your Data Layer Variable

This variable will capture the user's specific choice ("accept_all," "deny_all," etc.).

  1. In GTM, navigate to Variables and click New under "User-Defined Variables."

  2. Choose Data Layer Variable as the variable type.

  3. In the "Data Layer Variable Name" field, enter the key your CMP uses. In our example, it's consent_choice.

  4. Name your variable something clear, like "DLV - Consent Choice." Then, save it.

2. Create Your Trigger

The trigger tells GTM when to listen for the consent event.

  1. Go to Triggers and click New.

  2. Select Custom Event as the trigger type.

  3. In the "Event name" field, enter the event value from your CMP's data layer push. In our example, it's consent_interaction.

  4. Leave it set to "All Custom Events."

  5. Name your trigger something memorable, like "CE - Consent Interaction," and save.

3. Create Your GA4 Event Tag

This tag is what actually sends the data to Google Analytics.

  1. Go to Tags and click New.

  2. Select Tag Configuration, then click Google Analytics: GA4 Event.

  3. Select your main GA4 Configuration Tag.

  4. In the "Event Name" field, give it a clean, simple name like consent_choice. This is what you'll see in your GA4 reports.

  5. Under Event Parameters, click Add Row.

    • For "Parameter Name," enter user_choice.

    • For "Value," click the Lego brick icon and select the Data Layer Variable you created: {{DLV - Consent Choice}}.

  6. Under Triggering, select the Custom Event trigger you just made: {{CE - Consent Interaction}}.

Once you save and publish these changes in GTM, your GA4 property will begin collecting data every time a user interacts with your consent banner.

Step 2: Build the Dashboard with Looker Studio

While you can analyze these events within GA4's "Explore" reports, the easiest way to build a shareable, persistent dashboard is with Looker Studio (formerly Data Studio). It's free and connects directly to your Google Analytics data.

  1. Navigate to lookerstudio.google.com and start a Blank Report.

  2. When prompted, select Google Analytics as your data source and connect to your account and GA4 property.

Now you have a blank canvas. Let's add the charts and metrics that matter.

Create the Scorecards for Headline Metrics

Scorecards are great for showing your most important numbers at a glance.

1. Banner Impressions

First, you need a baseline of how many times your banner was shown. If your CMP fires a "banner_shown" event, that's perfect. Add a scorecard and set its metric to the "Event count" for that event name.

2. Consent "Accept"s

Next, show total accepts. Add another scorecard, set the metric to Event count. Then, create a filter at the bottom of the settings panel:

  • Include > Event Name > "is equal to (=)" > consent_choice

  • AND > user_choice > "is equal to (=)" > accept_all

3. Consent Rate (Calculated Metric)

This is where it gets powerful. Create a new scorecard, and instead of choosing a metric, click Create a calculated field. Use this formula:

COUNT(Event name where event name = "consent_choice") / COUNT(Event name where event name = "banner_shown")

Set a default name as "Consent Rate." Now, change Display Format from Number to Percent. (You will need to implement a "banner_shown" as 1 so the calculation could run).

To make this calculation work, create what we call a Custom Field. For Looker Studio to process it properly and execute on "Events," it must register a numerical value — specifically "1."

Visualize a Breakdown of Choices

A pie chart or bar chart is perfect for showing the proportion of accepts, denies, and customizations.

  1. Add a new chart (like a Pie Chart).

  2. Set the Dimension to the custom parameter you created: user_choice.

  3. Set the Metric to Event Count.

  4. Add a filter to only include events where the Event Name is consent_choice.

This chart will now visually display the distribution of user decisions.

Show Consent Rate by Country

A map visualization instantly highlights geographic trends.

  1. Add a Geo Chart to your report.

  2. Set the Location Dimension to Country.

  3. You'll need another custom field or what Looker Studio calls "Blend Data" — "data blend."

Step 3: Analyze and Take Action

Your dashboard is now built and showing you live data. So, what do you do with it?

Look for Trends and Anomalies: Keep an eye on your time series. If you notice a sudden dip in your consent rate, it's a sign that something may have happened. Did you push an update to your website? Did a new version of your consent banner go live? Your dashboard turns hunches into data-driven investigations.

Segment to Find Insights: Use the filters in your Looker Studio report to dig deeper. Are mobile users consenting at a lower rate than desktops? Is one specific landing page producing a very low opt-in rate? Is there a way to modify its UX slightly?

Run A/B Tests: The dashboard is your scorecard for optimization. Test different banner headlines, button colors, or default settings. Make one change at a time and watch your dashboard for a few weeks to see if it moves the needle on your overall consent rate. Simply guessing isn't good enough, this dashboard lets you test and validate your ideas.

Final Thoughts

Building a compliance dashboard provides a complete view of how users respond to your consent requests. By tracking these interactions with Google Tag Manager and visualizing them in Looker Studio, you can respect user privacy while gaining a much clearer understanding of your data's scope and limitations.

We know that setting up custom events in GTM and then piecing together dashboards in Looker Studio can feel tedious, especially when you have a dozen other tasks on your plate. We actually created Graphed to remove this manual friction. Once you connect your Google Analytics account, you can create the same dashboard by simply asking a question in plain English, like "Create a dashboard showing my consent accept rate, accept vs. deny breakdown, and consent rate by country for last quarter." Graphed instantly builds the report, helping you get to the insights without all the setup work.