Complete guide to User ID implementation, user properties, and cross-device tracking in GA4. Use when implementing User ID for authenticated users, setting user properties, enabling cross-device tracking, configuring Reporting Identity, or tracking user attributes. Covers gtag('set') for user properties, User ID setup, cross-domain tracking, and user data management.
/plugin marketplace add henkisdabro/wookstar-claude-code-plugins/plugin install ga-suite@wookstar-claude-code-pluginsThis skill inherits all available tools. When active, it can use any tool Claude has access to.
User ID enables cross-device tracking for authenticated users and user properties allow tracking custom user attributes across all events.
Invoke this skill when:
What is User ID:
Implementation Methods:
Method 1: gtag.js
// Set User ID when user logs in
gtag('config', 'G-XXXXXXXXXX', {
'user_id': 'USER_12345'
});
// Or use gtag('set')
gtag('set', 'user_id', 'USER_12345');
Method 2: GTM (Data Layer)
// Push User ID to dataLayer
dataLayer.push({
'user_id': 'USER_12345'
});
In GTM:
user_iduser_id{{DL - User ID}}Method 3: Measurement Protocol
{
"client_id": "client_123",
"user_id": "USER_12345",
"events": [...]
}
Best Practices:
gtag('set', 'user_id', null)Path: Admin → Data Settings → Data Collection → Reporting Identity
Options:
Blended (Recommended)
Observed
Device-based
Recommendation: Use "Blended" for most comprehensive tracking
What are User Properties:
Setting User Properties:
gtag.js:
gtag('set', 'user_properties', {
'user_tier': 'premium',
'account_age_days': 365,
'preferred_category': 'electronics'
});
GTM (Data Layer):
dataLayer.push({
'user_properties': {
'user_tier': 'premium',
'account_age_days': 365
}
});
Measurement Protocol:
{
"client_id": "client_123",
"user_properties": {
"user_tier": {
"value": "premium"
},
"account_age_days": {
"value": 365
}
},
"events": [...]
}
Common User Properties:
user_tier: "free", "premium", "enterprise"signup_date: "2024-01-15"subscription_status: "active", "trial", "cancelled"customer_ltv: Lifetime value bucketindustry: User's industrycompany_size: Employee count rangeinterests: Comma-separated interestsAvoid PII:
email, name, phone_number, addressemail_domain, first_name_initial, user_segmentCreating User-Scoped Custom Dimension:
user_tierUsing in Reports:
Requirements:
How it Works:
user_id setuser_idVerifying Cross-Device:
debug_mode=trueuser_id parameter in eventsuser_id in eventsSetup for User ID Across Domains:
gtag.js Configuration:
gtag('config', 'G-XXXXXXXXXX', {
'linker': {
'domains': ['example.com', 'shop.example.com', 'blog.example.com']
}
});
What This Does:
GTM Setup:
linker: {"domains": ["example.com", "shop.example.com"]}Testing:
_gl parameter in URLDeleting User Data by User ID:
Path: Admin → Data Deletion Requests
Process:
Processing:
Use Cases:
Workflow:
client_iduser_id appears in event detailsuser_id cleared/nulluser_idDebugView Verification:
Reports Verification:
Set User ID (gtag.js):
gtag('config', 'G-XXXXXXXXXX', {'user_id': 'USER_123'});
Set User Properties (gtag.js):
gtag('set', 'user_properties', {
'user_tier': 'premium'
});
Clear User ID (gtag.js):
gtag('set', 'user_id', null);
Limits:
Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.
Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel. Use it when brand colors or style guidelines, visual formatting, or company design standards apply.
Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create original visual designs, never copying existing artists' work to avoid copyright violations.