Initial commit
This commit is contained in:
334
skills/gtm-general/SKILL.md
Normal file
334
skills/gtm-general/SKILL.md
Normal file
@@ -0,0 +1,334 @@
|
||||
---
|
||||
name: gtm-general
|
||||
description: General guidance and overview for Google Tag Manager (GTM), including what GTM is, how it works, GTM architecture, account structure, workspace concepts, version control, publishing workflows, when to use GTM, GTM vs hardcoded tags, container types (web, mobile, server-side), GTM terminology, common use cases, and routing to specialized GTM skills. Use when asking general questions about GTM, learning about GTM fundamentals, understanding GTM concepts, planning GTM implementation strategy, comparing GTM approaches, getting started with GTM, or when unsure which specific GTM skill to use.
|
||||
---
|
||||
|
||||
# Google Tag Manager - General Guidance
|
||||
|
||||
## Overview
|
||||
General guidance for Google Tag Manager (GTM) covering fundamentals, concepts, architecture, and routing to specialized skills for specific GTM tasks.
|
||||
|
||||
## When to Use This Skill
|
||||
Invoke this skill when:
|
||||
- Asking general questions about Google Tag Manager
|
||||
- Learning GTM fundamentals and core concepts
|
||||
- Understanding how GTM works and its architecture
|
||||
- Planning GTM implementation strategy
|
||||
- Deciding whether to use GTM vs other approaches
|
||||
- Understanding GTM terminology and concepts
|
||||
- Getting oriented with GTM capabilities
|
||||
- Unsure which specific GTM skill applies to your question
|
||||
- Comparing GTM container types or approaches
|
||||
- Understanding GTM account structure and organization
|
||||
|
||||
## What is Google Tag Manager?
|
||||
|
||||
Google Tag Manager (GTM) is a free tag management system that allows you to deploy and manage marketing tags (tracking codes, analytics snippets, pixels) on your website or mobile app without modifying code directly.
|
||||
|
||||
**Key Benefits:**
|
||||
- **No code deployments** - Add/modify tags without developer assistance
|
||||
- **Faster implementation** - Deploy tags in minutes instead of weeks
|
||||
- **Version control** - Track changes, test, and rollback if needed
|
||||
- **Centralized management** - Manage all tags in one place
|
||||
- **Built-in templates** - Pre-built tags for GA4, Google Ads, Facebook, etc.
|
||||
- **Preview & debug** - Test before publishing to production
|
||||
- **Performance** - Async loading, conditional firing
|
||||
|
||||
## GTM Architecture & Concepts
|
||||
|
||||
### Container Structure
|
||||
**Account** (Organization level)
|
||||
└── **Container** (Website/App level)
|
||||
├── **Workspace** (Development environment)
|
||||
│ ├── Tags (What to fire)
|
||||
│ ├── Triggers (When to fire)
|
||||
│ └── Variables (Data to capture)
|
||||
└── **Versions** (Snapshots of container state)
|
||||
|
||||
### Core Components
|
||||
|
||||
**Tags** - Code snippets to fire (GA4, Google Ads, pixels, custom HTML)
|
||||
- See **gtm-tags** skill for tag configuration
|
||||
|
||||
**Triggers** - Rules for when tags should fire (page views, clicks, events)
|
||||
- See **gtm-triggers** skill for trigger configuration
|
||||
|
||||
**Variables** - Dynamic values used in tags and triggers (URLs, data layer values, cookies)
|
||||
- See **gtm-variables** skill for variable configuration
|
||||
|
||||
**Data Layer** - JavaScript object for passing data to GTM
|
||||
- See **gtm-datalayer** skill for data layer implementation
|
||||
|
||||
### Container Types
|
||||
|
||||
**Web Container** - For websites
|
||||
- Most common container type
|
||||
- Uses GTM snippet in HTML
|
||||
- Supports page view, click, form, scroll tracking
|
||||
- See **gtm-setup** skill for installation
|
||||
|
||||
**Mobile Container** - For iOS/Android apps
|
||||
- Integrates with Firebase
|
||||
- Different trigger types (screen view, app events)
|
||||
|
||||
**Server-Side Container** - For server-side tagging
|
||||
- Runs on server infrastructure (Google Cloud, Cloudflare Workers, etc.)
|
||||
- First-party data collection
|
||||
- Enhanced privacy and control
|
||||
- Better performance (offload client-side tags)
|
||||
- See **gtm-api** skill for programmatic management
|
||||
|
||||
### Workspace & Version Control
|
||||
|
||||
**Workspaces** - Isolated development environments
|
||||
- Multiple team members can work simultaneously
|
||||
- Changes don't affect live container until published
|
||||
- Merge changes when ready
|
||||
|
||||
**Versions** - Snapshots of container configuration
|
||||
- Create version when ready to publish
|
||||
- Version history maintained
|
||||
- Rollback to previous version if needed
|
||||
- Document changes in version notes
|
||||
|
||||
**Environments** - Different deployment targets
|
||||
- **Live/Production** - Published container serving real traffic
|
||||
- **Latest** - Most recent version (for testing)
|
||||
- **Custom environments** - Development, staging, QA
|
||||
|
||||
## Common Use Cases
|
||||
|
||||
### Analytics Tracking
|
||||
- Google Analytics 4 (GA4) implementation
|
||||
- Page view tracking
|
||||
- Event tracking (clicks, form submits, downloads)
|
||||
- E-commerce tracking
|
||||
- User behavior analysis
|
||||
- See **gtm-tags** and **gtm-datalayer** skills
|
||||
|
||||
### Marketing & Advertising
|
||||
- Google Ads conversion tracking
|
||||
- Google Ads remarketing
|
||||
- Facebook Pixel / Meta Pixel
|
||||
- LinkedIn Insight Tag
|
||||
- TikTok Pixel, Twitter/X Pixel
|
||||
- See **gtm-tags** skill
|
||||
|
||||
### Custom Implementations
|
||||
- A/B testing tools (Optimizely, VWO, Google Optimize)
|
||||
- Chat widgets (Intercom, Drift)
|
||||
- Heatmap tools (Hotjar, Crazy Egg)
|
||||
- Custom tracking scripts
|
||||
- See **gtm-tags** skill for custom HTML
|
||||
|
||||
### Consent Management
|
||||
- Cookie consent implementation
|
||||
- Consent Mode v2 (Google)
|
||||
- Tag blocking based on consent
|
||||
- See **gtm-best-practices** skill
|
||||
|
||||
## GTM vs Other Approaches
|
||||
|
||||
### GTM vs Hardcoded Tags
|
||||
**Hardcoded Tags** (Traditional Approach):
|
||||
- Tags embedded directly in HTML/JavaScript
|
||||
- Requires developer for every change
|
||||
- No version control
|
||||
- Difficult to debug
|
||||
- Slow to implement changes
|
||||
|
||||
**GTM** (Tag Management):
|
||||
- Tags managed in GTM interface
|
||||
- No code changes for tag updates
|
||||
- Built-in version control and rollback
|
||||
- Preview & debug mode
|
||||
- Fast implementation (minutes vs weeks)
|
||||
|
||||
**When to use hardcoded**: Very simple sites, critical tags that must never change, single tag with no management needs
|
||||
|
||||
**When to use GTM**: Most websites, multiple tags, frequent tag changes, marketing/analytics tags
|
||||
|
||||
### GTM vs Google Analytics 4 Direct
|
||||
- GTM provides flexibility to add/modify GA4 without code changes
|
||||
- GTM allows multiple marketing tags beyond just GA4
|
||||
- GA4 can be implemented without GTM (direct script), but less flexible
|
||||
- Recommendation: Use GTM for GA4 unless extremely simple use case
|
||||
|
||||
## Getting Started with GTM
|
||||
|
||||
### 1. Create GTM Account & Container
|
||||
- Sign up at tagmanager.google.com
|
||||
- Create account (organization level)
|
||||
- Create container (website/app level)
|
||||
- See **gtm-setup** skill for detailed setup
|
||||
|
||||
### 2. Install GTM Container
|
||||
- Copy GTM snippet
|
||||
- Add to `<head>` and `<body>` of all pages
|
||||
- Verify installation with Preview mode
|
||||
- See **gtm-setup** skill for installation
|
||||
|
||||
### 3. Set Up Basic Tags
|
||||
- Enable built-in variables
|
||||
- Create GA4 configuration tag
|
||||
- Create page view triggers
|
||||
- Test in Preview mode
|
||||
- See **gtm-tags** and **gtm-triggers** skills
|
||||
|
||||
### 4. Implement Data Layer (if needed)
|
||||
- Plan data layer structure
|
||||
- Implement dataLayer.push() calls
|
||||
- Create data layer variables
|
||||
- See **gtm-datalayer** skill
|
||||
|
||||
### 5. Test & Publish
|
||||
- Use Preview mode to test
|
||||
- Verify tags fire correctly
|
||||
- Check data in analytics platforms
|
||||
- Create version and publish
|
||||
- See **gtm-debugging** skill
|
||||
|
||||
## GTM Terminology
|
||||
|
||||
**Auto-Event Variables** - Built-in variables for click, form, scroll events
|
||||
**Built-in Variables** - Pre-configured variables (Page URL, Referrer, etc.)
|
||||
**Community Template Gallery** - Shared tag/variable templates
|
||||
**Container ID** - Unique ID for your GTM container (GTM-XXXXXX)
|
||||
**Debug Mode** - GTM Preview mode for testing
|
||||
**Firing Trigger** - Trigger that causes tag to fire
|
||||
**Lookup Table** - Variable that maps inputs to outputs
|
||||
**Preview Mode** - Testing mode to debug GTM before publishing
|
||||
**Tag Sequencing** - Control order of tag firing
|
||||
**User-Defined Variable** - Custom variable you create
|
||||
**Workspace** - Development environment for making changes
|
||||
|
||||
## Routing to Specialized Skills
|
||||
|
||||
Based on your specific GTM need, use these specialized skills:
|
||||
|
||||
**Container Setup & Installation**
|
||||
→ Use **gtm-setup** skill
|
||||
- Creating containers
|
||||
- Installing GTM snippet
|
||||
- Workspace management
|
||||
- Environment configuration
|
||||
|
||||
**Tag Configuration**
|
||||
→ Use **gtm-tags** skill
|
||||
- Creating GA4, Google Ads, marketing tags
|
||||
- Custom HTML tags
|
||||
- Tag settings and firing priority
|
||||
|
||||
**Trigger Setup**
|
||||
→ Use **gtm-triggers** skill
|
||||
- Page view, click, form triggers
|
||||
- Custom event triggers
|
||||
- Trigger conditions and RegEx
|
||||
|
||||
**Variable Configuration**
|
||||
→ Use **gtm-variables** skill
|
||||
- Data layer variables
|
||||
- Custom JavaScript variables
|
||||
- Built-in variables
|
||||
|
||||
**Data Layer Implementation**
|
||||
→ Use **gtm-datalayer** skill
|
||||
- Data layer structure
|
||||
- E-commerce tracking
|
||||
- Custom events
|
||||
- SPA patterns
|
||||
|
||||
**Debugging & Testing**
|
||||
→ Use **gtm-debugging** skill
|
||||
- Preview mode
|
||||
- Tag Assistant
|
||||
- Troubleshooting tags not firing
|
||||
|
||||
**Best Practices & Optimization**
|
||||
→ Use **gtm-best-practices** skill
|
||||
- Naming conventions
|
||||
- Performance optimization
|
||||
- Security practices
|
||||
- Privacy compliance
|
||||
|
||||
**Custom Template Development**
|
||||
→ Use **gtm-custom-templates** skill
|
||||
- Building custom tag templates
|
||||
- Sandboxed JavaScript
|
||||
- Template publishing
|
||||
|
||||
**API & Automation**
|
||||
→ Use **gtm-api** skill
|
||||
- GTM API v2
|
||||
- Programmatic container management
|
||||
- Automation scripts
|
||||
|
||||
## Common Questions
|
||||
|
||||
**Q: Do I need GTM if I only use Google Analytics?**
|
||||
A: GTM is recommended even for GA-only setups because it provides flexibility to modify tracking without code changes, easier debugging, and future-proofing for additional tags.
|
||||
|
||||
**Q: Does GTM slow down my website?**
|
||||
A: GTM loads asynchronously and typically has minimal impact. Proper implementation with optimized tags can actually improve performance vs hardcoded tags.
|
||||
|
||||
**Q: Can I use GTM on a single-page application (SPA)?**
|
||||
A: Yes! Use History Change triggers for route changes and implement data layer pushes for virtual page views. See **gtm-datalayer** and **gtm-triggers** skills.
|
||||
|
||||
**Q: How do I test GTM without affecting production data?**
|
||||
A: Use Preview mode to test before publishing, use development environments, configure filters in analytics platforms to exclude test traffic.
|
||||
|
||||
**Q: Can multiple people work on GTM at once?**
|
||||
A: Yes, use Workspaces to allow simultaneous development. Each person works in their own workspace and merges changes when ready.
|
||||
|
||||
**Q: What's the difference between GTM web and server-side containers?**
|
||||
A: Web containers run in the browser (client-side), server-side containers run on your server infrastructure for enhanced privacy, first-party data, and performance.
|
||||
|
||||
## References
|
||||
- **references/gtm-overview.md** - Detailed GTM fundamentals and architecture
|
||||
|
||||
## Integration with Other Skills
|
||||
All GTM skills work together for comprehensive GTM implementation:
|
||||
- **gtm-setup** - Initial container setup
|
||||
- **gtm-tags** - Tag configuration
|
||||
- **gtm-triggers** - Trigger configuration
|
||||
- **gtm-variables** - Variable configuration
|
||||
- **gtm-datalayer** - Data layer implementation
|
||||
- **gtm-debugging** - Testing and troubleshooting
|
||||
- **gtm-best-practices** - Optimization and standards
|
||||
- **gtm-custom-templates** - Template development
|
||||
- **gtm-api** - Automation and programmatic access
|
||||
|
||||
## Quick Decision Tree
|
||||
|
||||
**"I want to..."**
|
||||
- Install GTM → **gtm-setup**
|
||||
- Add a tracking tag → **gtm-tags**
|
||||
- Track clicks or forms → **gtm-triggers**
|
||||
- Capture dynamic data → **gtm-variables**
|
||||
- Send custom data → **gtm-datalayer**
|
||||
- Fix tags not firing → **gtm-debugging**
|
||||
- Optimize performance → **gtm-best-practices**
|
||||
- Build custom template → **gtm-custom-templates**
|
||||
- Automate GTM management → **gtm-api**
|
||||
- General GTM questions → **gtm-general** (this skill)
|
||||
|
||||
## Best Practices
|
||||
|
||||
### Planning Your Implementation
|
||||
1. **Define tracking requirements** - What data do you need?
|
||||
2. **Plan data layer structure** - How will data be passed?
|
||||
3. **Choose container type** - Web, mobile, or server-side?
|
||||
4. **Set up environments** - Development, staging, production
|
||||
5. **Establish naming conventions** - Consistent tag/trigger/variable names
|
||||
6. **Document your setup** - Version notes, workspace purposes
|
||||
7. **Train your team** - Ensure everyone understands GTM workflows
|
||||
|
||||
### Ongoing Management
|
||||
- Test all changes in Preview mode before publishing
|
||||
- Use descriptive version notes when publishing
|
||||
- Regular container audits to remove unused elements
|
||||
- Monitor tag performance and page load impact
|
||||
- Keep security and privacy top of mind
|
||||
- Stay updated on GTM new features and best practices
|
||||
|
||||
See **gtm-best-practices** skill for detailed guidance.
|
||||
Reference in New Issue
Block a user