Files
2025-11-29 18:32:40 +08:00

576 lines
13 KiB
Markdown

# GA4 Dimension Limits, Quotas & Planning Guide
## Standard GA4 Property Quotas
### Dimension Quotas
| Scope Type | Limit | GA4 360 Limit |
|------------|-------|---------------|
| Event-scoped custom dimensions | 50 | 125 |
| User-scoped custom dimensions | 25 | 100 |
| Item-scoped custom dimensions | 10 | 25 |
### Metric Quotas
| Metric Type | Limit | GA4 360 Limit |
|-------------|-------|---------------|
| Standard custom metrics | 50 | 125 |
| Calculated metrics | 5 | 50 |
### Total Dimension Budget
**Standard GA4:**
- Maximum total: 50 + 25 + 10 = 85 custom dimensions
**GA4 360:**
- Maximum total: 125 + 100 + 25 = 250 custom dimensions
---
## Understanding Quota Impacts
### Event-Scoped Dimensions (50 Max in Standard GA4)
**Typical usage distribution:**
```
High priority (essential): 5-10 dimensions
Medium priority (important): 10-15 dimensions
Low priority (nice-to-have): 5-10 dimensions
Testing/experimental: 5-10 dimensions
Unused/deprecated: 5-10 dimensions
Total: 30-55 dimensions (likely over quota)
```
### User-Scoped Dimensions (25 Max in Standard GA4)
**Typical usage distribution:**
```
Subscription/plan tier: 1 dimension
Customer segment: 1 dimension
Account status: 1 dimension
Company characteristics: 3-5 dimensions
Behavioral attributes: 3-5 dimensions
Preferences: 3-5 dimensions
Unused/deprecated: 3-5 dimensions
Total: 15-25 dimensions (likely at/near quota)
```
### Item-Scoped Dimensions (10 Max in Standard GA4)
**Typical usage distribution:**
```
Color/variant: 1-2 dimensions
Size: 1 dimension
Material/fabric: 1 dimension
Supplier/vendor: 1 dimension
Quality tier: 1 dimension
Unused/test: 2-3 dimensions
Total: 8-10 dimensions (likely at quota)
```
---
## Quota Management Strategy
### When You Hit Quota
**Immediate:**
1. Stop creating new dimensions temporarily
2. Audit existing dimensions for unused ones
3. Delete low-priority/test dimensions
4. Document deletions
**Medium-term:**
1. Consolidate similar dimensions
2. Archive less-used dimensions (delete then document)
3. Consider GA4 360 upgrade if quota consistently exceeded
**Long-term:**
1. Plan which dimensions are truly essential
2. Establish dimension governance policies
3. Regular quarterly reviews of dimension usage
### Prioritization Framework
**Tier 1: Keep (Essential)**
- ✓ Required for critical business reports
- ✓ Used by multiple teams
- ✓ Part of regulatory/compliance reporting
- ✓ Cannot be replaced by built-in dimensions
**Tier 2: Keep (Important)**
- ✓ Used regularly in analysis
- ✓ Part of team dashboards
- ✓ Supports strategic decisions
- ✓ Actively send data (not dormant)
**Tier 3: Review (Optional)**
- ? Used occasionally
- ? Experimental in nature
- ? Data doesn't appear in reports
- ? Can be replicated from other data
**Tier 4: Delete (Candidates)**
- ✗ Never used in reports
- ✗ Data not being sent (implementation missing)
- ✗ Duplicate of existing dimension
- ✗ Test/experimental dimension
- ✗ Parameter no longer tracked
### Audit Checklist
Run quarterly to identify deletable dimensions:
```
For each dimension, check:
[ ] Has data in reports?
NO → Candidate for deletion
[ ] Used by any teams?
NO → Candidate for deletion
[ ] Parameter still being sent?
NO → Candidate for deletion
[ ] Duplicate of another dimension?
YES → Delete duplicate
[ ] Actively analyzed?
NO → Candidate for deletion
```
---
## Parameter Limits (Not Quota-Based)
These are separate from dimension quotas - they apply to all events:
### Event Parameter Limits
| Aspect | Limit | Notes |
|--------|-------|-------|
| Parameters per event | 25 max | Total count of all parameters |
| Parameter name length | 40 characters | Cannot be longer |
| String parameter value | 100 characters | Most parameters |
| page_title value | 300 characters | Special exception |
| page_referrer value | 420 characters | Special exception |
| page_location value | 1000 characters | Special exception |
### Items Array Limits
| Aspect | Limit | Notes |
|--------|-------|-------|
| Items per event | 27 max | Maximum products in one transaction |
| Item parameters | 10+ available | Predefined + custom |
| Item parameter value | 100 characters | Standard limits apply |
### User Property Limits
| Aspect | Limit | Notes |
|--------|-------|-------|
| User properties per user | 100 max | Total count across all |
| Property name length | 40 characters | Cannot be longer |
| Property value length | 100 characters | Standard limits |
---
## Quota Warnings & Enforcement
### Before Hitting Quota
**GA4 provides warnings:**
- No explicit warning currently (as of 2024)
- Monitor quota usage in Admin → Custom Definitions
- List shows all dimensions with counts
### When At Quota
**Behavior:**
- Cannot create new dimension of that scope
- Error message: Cannot proceed
- Must delete existing dimension first
### When Over Quota (Impossible)
**By design:** GA4 prevents exceeding quota
- Will not let you create if would exceed
- Must delete first
---
## Capacity Planning Worksheet
Use this worksheet to plan dimensions before implementation:
### Event-Scoped Dimensions Planning
```
Total quota: 50 (Standard GA4) / 125 (GA4 360)
Category 1: Form Tracking
[ ] form_name
[ ] form_id
[ ] form_type
Subtotal: 3
Category 2: Button/Link Tracking
[ ] button_name
[ ] link_destination
[ ] link_type
Subtotal: 3
Category 3: Video Tracking
[ ] video_title
[ ] video_quality
[ ] video_category
Subtotal: 3
Category 4: Error Tracking
[ ] error_type
[ ] error_code
Subtotal: 2
Category 5: [Your Category]
[ ] dimension_name
Subtotal: X
TOTAL PLANNED: 11+ dimensions
QUOTA AVAILABLE: 50
BUFFER REMAINING: 39
```
### User-Scoped Dimensions Planning
```
Total quota: 25 (Standard GA4) / 100 (GA4 360)
Category 1: Subscription/Tier
[ ] subscription_tier
[ ] trial_status
Subtotal: 2
Category 2: Customer Type
[ ] customer_segment
[ ] customer_type
Subtotal: 2
Category 3: Account Status
[ ] account_status
[ ] account_age
Subtotal: 2
Category 4: Company Information
[ ] company_size
[ ] industry
[ ] company_country
Subtotal: 3
Category 5: Preferences
[ ] preferred_language
[ ] communication_preference
Subtotal: 2
Category 6: [Your Category]
[ ] property_name
Subtotal: X
TOTAL PLANNED: 11+ dimensions
QUOTA AVAILABLE: 25
BUFFER REMAINING: 14
```
### Item-Scoped Dimensions Planning
```
Total quota: 10 (Standard GA4) / 25 (GA4 360)
Category 1: Product Attributes
[ ] item_color
[ ] item_size
Subtotal: 2
Category 2: Supplier/Source
[ ] supplier
[ ] warehouse_location
Subtotal: 2
Category 3: Product Quality
[ ] quality_tier
Subtotal: 1
Category 4: [Your Category]
[ ] property_name
Subtotal: X
TOTAL PLANNED: 5+ dimensions
QUOTA AVAILABLE: 10
BUFFER REMAINING: 5
```
---
## Optimization Strategies
### Strategy 1: Consolidation
**Instead of:** 3 separate dimensions (button_text, button_id, button_type)
**Use:** 1 dimension (button_identifier = "type_id_text")
**Benefit:** Saves 2 dimensions, still trackable
### Strategy 2: Hierarchy Reduction
**Instead of:** item_category, item_subcategory, item_subsubcategory (3 dimensions)
**Use:** Built-in item_category (predefined) + custom item_category2 (predefined)
**Benefit:** Saves 1 dimension using pre-built fields
### Strategy 3: Metric instead of Dimension
**Instead of:** Dimension "video_watch_percentage"
**Use:** Metric minutes_watched (numeric) + Formula
**Benefit:** Dimensions for categorization, metrics for calculation
### Strategy 4: Segment in Exploration
**Instead of:** User-scoped dimension "cohort_type"
**Use:** Build temporary segment in Exploration for analysis
**Benefit:** Saves dimension quota, still enables analysis
---
## GA4 360 Considerations
### When to Upgrade to GA4 360
**Quota benefits:**
- 2.5x more event-scoped dimensions (50 → 125)
- 4x more user-scoped dimensions (25 → 100)
- 2.5x more item-scoped dimensions (10 → 25)
**Other GA4 360 benefits:**
- Increased custom metric quotas
- Extended data retention (up to 50 months)
- Advanced features (data-driven attribution by default)
- Data import capabilities
- Streaming BigQuery export
- Advanced support
**When quota-only upgrade makes sense:**
- More than 85 total dimensions needed
- Multiple teams each needing own dimensions
- Complex ecommerce tracking (20+ item attributes)
- Enterprise with many business units
---
## Common Quota Mistakes to Avoid
### Mistake 1: Creating Similar Dimensions
```
❌ WRONG:
- button_name
- button_text
- button_label
(These are the same thing!)
✓ CORRECT:
- button_name
(Use consistently)
```
**Prevention:** Establish naming standards before implementation
### Mistake 2: Creating Dimensions for Unique Values
```
❌ WRONG:
- user_email (millions of unique values)
- session_id (unique per session)
- timestamp (continuous values)
(High cardinality, not useful for analysis)
✓ CORRECT:
- user_tier (few values)
- user_region (manageable values)
- signup_month (grouped time)
```
**Prevention:** Only dimensions with <100 unique values
### Mistake 3: Not Deleting Test Dimensions
```
❌ WRONG:
- test_dimension
- temp_parameter
- dev_test
- debugging_param
(Wastes quota)
✓ CORRECT:
- Delete test dimensions after verification
- Use separate test GA4 property
```
**Prevention:** Track test vs. production dimensions
### Mistake 4: Creating Redundant Dimensions
```
❌ WRONG:
- page_title (already built-in!)
- device_category (already built-in!)
- user_id (use User ID feature instead)
✓ CORRECT:
- Review built-in dimensions first
- Only create custom when necessary
```
**Prevention:** Audit built-in dimensions before creating custom
---
## Quota Governance Policy (Template)
Organizations should establish policies:
### Dimension Creation Policy
**Before Creation:**
1. Business justification required
2. Dimensions reviewed by analytics lead
3. Check if built-in dimension exists
4. Verify quota available
5. Document in shared list
**After Creation:**
1. Register properly (scope, naming)
2. Implement in code
3. Verify in DebugView
4. Document in team wiki
5. Add to dashboard/report
### Dimension Review Schedule
**Quarterly Review (Every 3 months):**
1. List all custom dimensions
2. Check which have data
3. Check which are used
4. Mark for deletion if unused
5. Archive documentation
**Annual Audit (Every 12 months):**
1. Complete dimensions review
2. Consolidation opportunities
3. Quota forecasting
4. GA4 360 evaluation
5. Update governance policy
### Naming Standards
**All Event-Scoped Dimensions:**
- Format: `[action]_[object]`
- Examples: `button_name`, `form_id`, `video_title`
**All User-Scoped Dimensions:**
- Format: `[attribute]` or `user_[attribute]`
- Examples: `subscription_tier`, `customer_segment`
**All Item-Scoped Dimensions:**
- Format: `item_[attribute]`
- Examples: `item_color`, `item_size`
---
## Quota Tracking Template
Keep this updated to monitor quota usage:
### Event-Scoped Tracking
```
Date: 2024-11-10
Total Created: 35 / 50
High Priority (Keep):
- form_name (active)
- button_name (active)
- error_type (active)
- page_section (active)
Subtotal: 4
Medium Priority (Keep):
- video_title (light use)
- link_type (monthly analysis)
Subtotal: 2
Low Priority (Review):
- test_param (no data)
- old_tracking (deprecated)
- experimental_dimension (unused)
Subtotal: 3
Deletion Candidates: 3
Recommended Action: Delete 3, keep 32
Next Review: 2025-02-10 (Quarterly)
```
### User-Scoped Tracking
```
Date: 2024-11-10
Total Created: 22 / 25
In Use:
- subscription_tier (critical)
- customer_segment (critical)
- account_status (important)
- company_size (important)
- industry (important)
- preferred_language (used)
- loyalty_status (used)
Subtotal: 7
Unused/Deprecated:
- old_tier_system (no data)
- test_property (testing only)
Subtotal: 2
Buffer Remaining: 3
Recommendation: Delete old_tier_system, keep others
Next Review: 2025-02-10
```
---
## Summary: Quick Decision Matrix
**Need to create a custom dimension? Use this:**
| Question | Yes | No |
|----------|-----|-----|
| Is it essential for business reporting? | Keep | Consider deletion |
| Is there a built-in dimension for this? | Use built-in | Create custom |
| Is there quota available? | Create | Delete other first |
| Will it have <100 unique values? | Proceed | Rethink approach |
| Is it for event-specific context? | Event scope | Use different scope |
| Is it for all user events? | User scope | Use different scope |
| Is it for products? | Item scope | Use different scope |
| Do we have team consensus? | Create | Get approval first |