Creating a measurement plan can feel like one of those tasks that is important but not urgent, and daunting to tackle. The challenge isn’t just in drafting the initial plan—it’s in keeping it up to date as websites, campaigns, and analytics setups evolve. Too many times, I’ve seen the hard work of documentation go to waste due to a lack of commitment and/or motivation to keep it up-to-date.
That’s where AI and MCP (Model Context Protocol) servers can make a real difference. By connecting Google Analytics and Google Tag Manager directly to large language models, it becomes possible to build, review, and maintain a measurement plan with much less manual effort. Instead of treating the plan as a static document, you can treat it as a living resource—one that reflects the actual state of your GA4 properties and GTM containers.
In this post, I’ll walk through how I used the Google Analytics MCP Server and the Stape GTM MCP Server, alongside ChatGPT and Claude, to create and refine a real-world measurement plan. I’ll share the prompts I used, how I integrated outputs across tools, and what worked best for turning a high-level outline into actionable documentation.
If you’re not familiar with or sold on the value of measurement plans, I think this sums it up nicely:
“A measurement plan in the context of digital analytics tracking, particularly with tools like Google Analytics, acts as a strategic document that outlines how you will track and measure the success of your online activities. It aligns your business goals with the metrics and data you gather, ensuring that you can effectively evaluate performance and make data-driven decisions.” – Sarah Crooke
Generating the Measurement Plan Draft with ChatGPT
My first step was to prompt ChatGPT to create an outline.
I would like to create a measurement plan for a client. The client is ABC, and we provide analytics services and generally oversee their website measurement. There are four primary websites that we configure, monitor, and provide reporting for. Those are abc.com, bcd.com, clientportal.abc.com, and an internal SharePoint site. We use Tag Manager for tag management and Google Analytics for reporting. We have BigQuery exports set up for each of the properties and do some reporting from BigQuery. Please ask any necessary questions to help me outline and develop the measurement plan.
Please ask me questions one at a time.
I’m not the best prompt engineer, but having the LLM ask me questions one at a time has really improved my results. I also like using ChatGPT’s voice recognition for that – I find I can keep the flow a lot better if I’m answering questions in sequence by voice.
The questions ChatGPT asked were pretty detailed, and the output did a great job of framing the KPIs that matter to the client. It also created very accurate sections on stakeholders, data infrastructure, governance, reporting and future initiatives. I didn’t have a preconceived notion of what I wanted, and was surprised and happy with the result. At this point it lacked any technical specifics, but the foundation was solid.
Updating the Plan via the Google Analytics MCP Server
I then copied the ChatGPT output to a Google Doc and gave it to my Google-Analytics-MCP-connected Claude project, and entered the following prompt (I put a little more effort into this one):
Please review and enhance my measurement plan by analyzing data from my live Google Analytics properties. Please use the Google Analytics MCP server to examine properties ####, ####, ####, and ####.
Please perform the following analysis and updates:
1. Event Mapping & Validation
Identify all custom events currently being tracked across these properties
Map these actual event names to the business KPIs outlined in my measurement plan
Flag any KPIs in the plan that don't have corresponding events being tracked
Note any events being tracked that aren't documented in the measurement plan
2. Naming Convention Analysis
Analyze the naming patterns used across all custom events
Identify the current naming conventions (if any) being followed
Highlight inconsistencies in naming across properties or events
Suggest specific improvements for better naming standardization
3. Property-Specific Insights
Note any significant differences in tracking setup between properties
Identify which events are firing most frequently on each property
Flag any properties with unusually low event volumes or potential tracking issues
4. Measurement Plan Enhancements
Add any missing technical details (actual parameter names, event structures)
Update KPI definitions with actual event configurations being used
Suggest additional metrics or events that would improve measurement based on current setup
Recommend priority fixes or implementations based on what you observe
5. Implementation Recommendations
Provide specific, actionable next steps for improving measurement consistency
Prioritize recommendations based on potential business impact
Include technical details needed for implementation (parameter names, trigger conditions, etc.)
Please format your response with clear sections for each type of analysis, and be specific with property names when findings differ between properties.
I reviewed and generally agreed with the revisions it suggested, so then I prompted it to add those revisions to the draft measurement plan:
Can you create a revised version of the document with your suggestions incorporated? Also, please don't use emojis.
I really don’t care for Claude’s overuse of emojis, but otherwise It did a beautiful job, and mapped actual event names to most of my business KPIs. It also identified naming conventions that we are using for custom events, and pointed out where stricter adherence to naming conventions would be helpful.
I then updated my Google Doc with the revised copy.
Updating the Plan via the Stape Google Tag Manager MCP Server
I have also connected the Stape Google Tag Manager MCP Server, so I reconnected to the revised doc and entered the prompt below.
Note that I’ve found that the Stape MCP Server does a better job if you give it the numeric GTM container ID, versus the alphanumeric Google Tag ID that starts with “GTM-”. You can get the numeric ID by logging into the container, and copying the containerId variable from the URL.
Please review and enhance the measurement plan by analyzing the actual implementation in my Google Tag Manager containers. Please use the GTM MCP server to examine the containers associated with properties
abc.com:
- GA property ID ####
- GTM Account ####
- GTM container ID ####
clientportal.abc.com:
- GA property ID ####
- GTM Account ####
- GTM container ID ####
bcd.com:
- GA property ID ####
- GTM Account ####
- GTM container ID ####
Sharepoint:
- GA property ID ####
- GTM Account ####
- GTM container ID ####
Please perform the following GTM analysis and updates:
1. Tag Implementation Review
List all GA4 and other analytics tags currently configured
Map custom event tags to the events outlined in my measurement plan
Flag any measurement plan KPIs that lack proper tag implementation
2. Data Layer & Variable Analysis
Examine all custom variables and data layer implementations
Document the actual parameter names and structures being used
Identify which variables support the metrics defined in my measurement plan
Note any data layer pushes or variables that aren't documented in the plan
3. Trigger Configuration Assessment
Analyze trigger logic for all measurement-related tags
Verify that triggers align with the intended measurement scenarios in the plan
Identify any overly broad or overly narrow trigger conditions
4. Naming Convention & Organization Analysis
Review naming patterns across tags, triggers, and variables
Assess folder organization and documentation within GTM
Identify inconsistencies in naming conventions
Suggest improvements for better container organization and maintenance
5. Implementation Quality Check
Identify any tags that aren't firing properly or have configuration issues
Check for duplicate or conflicting tags that could affect data quality
Review consent settings and privacy compliance configurations
Flag any deprecated or outdated tracking implementations
6. Measurement Plan Technical Updates
Add specific GTM implementation details to the measurement plan (tag names, trigger conditions, variable configurations)
Update KPI definitions with actual parameter names and data layer structures being used
Document the technical implementation requirements for any missing KPIs
7. Priority Recommendations
Suggest immediate fixes for any broken or misconfigured implementations
Recommend container cleanup opportunities (unused tags/triggers/variables)
Prioritize new implementations based on measurement plan gaps
Please organize your response in accordance with the measurement plan, specify which container/property each finding relates to, and include specific GTM entity names (tags, triggers, variables) in your recommendations.
Do not use emojis in your response.
Lastly, I prompted this:
Please create a revised version of the measurement plan based on your analysis. Do not change the structure of the plan and maintain the existing tone. Also, please don't use emojis.
I’ve left out a bit of back-and-forth with Claude along the way. I found it tended to drift towards more qualitative and spirited language if I didn’t keep it on track. The finished product needs a little bit of editing, but it is honestly way better than if I had ground it out on my own, and took a small fraction of the time.
A Living Measurement Plan That’s Easy To Keep Up-to-date
The big takeaway here is that measurement plans don’t have to be a dusty document you write once and then abandon. With AI and MCP servers, they can become living frameworks that stay aligned with both your analytics setup and your business priorities. The workflow I outlined has plenty of room for streamlining, but it’s a repeatable process that saves many hours of manual work and makes updates far less painful. If you’ve been putting off creating or revisiting your own measurement plan, give it a try. I’d love to hear how it goes in the comments!