UTM Analytics
Track and analyze marketing campaign performance with automatically collected UTM parameters. Appizer automatically captures UTM parameters from user sessions and stores them with event data for comprehensive campaign attribution analysis.
Overview
UTM (Urchin Tracking Module) parameters are standard URL parameters used to track marketing campaign effectiveness. Appizer's Web SDK automatically captures these parameters when users visit your website, allowing you to analyze campaign performance alongside user behavior analytics.
Supported UTM Parameters
| Parameter | Description | Example |
|---|---|---|
utm_source | Traffic source (where users come from) | google, facebook, newsletter |
utm_medium | Marketing medium (how users arrive) | cpc, organic, email, social |
utm_campaign | Specific campaign name | summer_sale, product_launch |
utm_term | Search terms or keywords | running_shoes, winter_coat |
utm_content | Specific content variant (A/B testing) | button_a, headline_v2 |
Automatic Collection
The Appizer Web SDK automatically:
- Extracts UTM parameters from landing page URLs
- Persists parameters across session for consistent attribution
- Stores with events in the
utmproperty field - Maintains session-level attribution for 24 hours
Collection Process
// Example URL with UTM parameters
https://yourapp.com/signup?utm_source=google&utm_medium=cpc&utm_campaign=summer_sale&utm_term=running_shoes
// Automatically captured and stored with events
{
"event_name": "page_view",
"properties": {
"url": "https://yourapp.com/signup",
"utm": {
"source": "google",
"medium": "cpc",
"campaign": "summer_sale",
"term": "running_shoes"
}
}
}
Query Examples
Campaign Performance Analysis
Question: "Show me the performance of my summer_sale campaign"
{
"name": "get_event_analytics",
"arguments": {
"app_id": "your-app-id",
"event_name": "purchase_completed",
"property_breakdown": "utm.campaign",
"geographic_breakdown": true,
"device_breakdown": true
}
}
Response:
{
"property_breakdown": {
"utm.campaign": {
"summer_sale": {
"count": 450,
"percentage": 0.34
},
"product_launch": {
"count": 320,
"percentage": 0.24
},
"null": {
"count": 560,
"percentage": 0.42
}
}
},
"geographic_breakdown": {
"country": {
"US": { "count": 280, "percentage": 0.62 },
"UK": { "count": 90, "percentage": 0.20 }
}
}
}
Traffic Source Analysis
Question: "Which traffic sources drive the most conversions?"
{
"name": "query_events",
"arguments": {
"app_id": "your-app-id",
"event_name": "signup_completed",
"properties_filter": {
"utm": {
"source": "google"
}
},
"limit": 100
}
}
Medium Performance Comparison
Question: "Compare performance between paid and organic traffic"
{
"name": "get_event_analytics",
"arguments": {
"app_id": "your-app-id",
"event_name": "purchase_completed",
"group_by": "utm.medium",
"geographic_breakdown": true,
"device_breakdown": true
}
}
Multi-Dimensional Campaign Analysis
Question: "Show me campaign performance by device type and country"
{
"name": "get_event_analytics",
"arguments": {
"app_id": "your-app-id",
"event_name": "purchase_completed",
"property_breakdown": "utm.campaign",
"combined_breakdowns": ["country_device_type"],
"geographic_breakdown": true
}
}
Advanced Analytics Use Cases
1. Campaign ROI Analysis
Track conversion rates and revenue by campaign:
{
"name": "get_event_analytics",
"arguments": {
"app_id": "your-app-id",
"event_name": "purchase_completed",
"property_breakdown": "utm.campaign",
"group_by": "day",
"start_date": "2026-01-01T00:00:00Z",
"end_date": "2026-01-31T23:59:59Z"
}
}
2. Geographic Campaign Performance
Analyze which campaigns perform best in different regions:
{
"name": "get_event_analytics",
"arguments": {
"app_id": "your-app-id",
"event_name": "signup_completed",
"combined_breakdowns": ["country_device_type"],
"property_breakdown": "utm.source"
}
}
3. Device-Specific Campaign Optimization
Understand which campaigns work best on which devices:
{
"name": "get_event_analytics",
"arguments": {
"app_id": "your-app-id",
"event_name": "purchase_completed",
"device_breakdown": true,
"property_breakdown": "utm.medium"
}
}
4. Content Performance (A/B Testing)
Compare different content variants:
{
"name": "get_event_analytics",
"arguments": {
"app_id": "your-app-id",
"event_name": "button_click",
"property_breakdown": "utm.content",
"group_by": "hour"
}
}
Integration with Event Analytics
UTM parameters are automatically included in all event analytics and can be combined with:
- Geographic data to analyze regional campaign performance
- Device analytics to optimize platform-specific campaigns
- Time series analysis to track campaign performance over time
- Funnel analysis to understand conversion paths by campaign
Best Practices
1. Consistent Naming
Use consistent, descriptive names for campaigns:
# Good examples
utm_campaign=winter_sale_2026
utm_campaign=new_user_onboarding
utm_campaign=product_launch_v2
# Avoid
utm_campaign=campaign1
utm_campaign=test
utm_campaign=xyz
2. Source and Medium Standards
Follow standard conventions for source and medium:
# Sources
utm_source=google
utm_source=facebook
utm_source=newsletter
utm_source=direct
# Mediums
utm_medium=cpc
utm_medium=organic
utm_medium=email
utm_medium=social
utm_medium=referral
3. Content Testing
Use utm_content for A/B testing:
utm_content=blue_button
utm_content=red_button
utm_content=headline_v1
utm_content=headline_v2
4. Campaign Structuring
Structure campaigns hierarchically:
# Structure: category_specific_variant
utm_campaign=sale_summer_2026
utm_campaign=onboarding_email_v2
utm_campaign=retargeting_facebook_q1
Data Retention
- Session persistence: UTM parameters persist for 24 hours
- Event storage: Parameters stored with all events during session
- Attribution window: First touch attribution within session
- Privacy compliance: Parameters treated as analytics data, not PII
Troubleshooting
UTM Parameters Not Showing
- Check URL format: Ensure parameters are properly encoded
- Verify SDK integration: Confirm Web SDK is properly installed
- Check timing: Parameters captured on page load, not mid-session
Inconsistent Attribution
- Session timeout: Parameters reset after 24 hours
- Multiple sources: First touch attribution — first source is credited
- Cross-device: Different devices have separate sessions
Data Quality Issues
- Parameter validation: SDK validates and sanitizes UTM parameters
- Case sensitivity: Parameters are case-sensitive
- Special characters: URL encoding handled automatically
Support
Need help with UTM analytics? Contact us at support@appizer.com or check our GitHub discussions.