Back to KB
Difficulty
Intermediate
Read Time
9 min

What channel are Email and SMS in GA4 — Google's official spec has the answer

By Codcompass Team··9 min read

Mastering GA4 Channel Attribution: A Developer’s Guide to UTM Classification Rules

Current Situation Analysis

Marketing analytics pipelines frequently suffer from a silent degradation: traffic misclassification. When engineering teams or marketing operators generate tracking links, they often treat UTM parameters as free-form labels. The assumption is that analytics platforms will intelligently bucket newsletter, blast, or whatsapp into their logical categories. In reality, Google Analytics 4 (GA4) operates on a deterministic rule engine, not a heuristic one.

This problem is systematically overlooked because the GA4 interface abstracts the classification logic behind clean, pre-built reports. Teams see channels like Email, SMS, or Organic Social and assume the platform infers intent from referrer headers, user agents, or campaign context. The truth is far more rigid. GA4's Default Channel Group relies exclusively on string pattern matching against utm_source and utm_medium. If the parameters do not satisfy the published specification, the session is routed to Unassigned or (other).

The scale of the issue is measurable. In properties with decentralized campaign management, Unassigned traffic routinely exceeds 5–12% of total sessions. This is not a tracking bug; it is a schema violation. Google maintains a locked specification of 23 default channels. The classification logic is centralized to preserve cross-property benchmarking and third-party tool compatibility. Operators cannot rename, merge, or override these channels in the default report. The only variables under your control are the UTM strings themselves. When those strings deviate from the official regex and exact-match conditions, attribution fractures, budget allocation becomes speculative, and revenue tracing loses fidelity.

WOW Moment: Key Findings

The critical insight is that GA4's channel classification is a deterministic state machine, not a probabilistic model. Precision in parameter naming directly dictates reporting accuracy. Below is a comparison of common implementation approaches versus their actual classification outcomes under GA4's official specification.

Approachutm_sourceutm_mediumResulting ChannelAttribution Impact
Official Email SpecmailchimpemailEmailAccurate campaign rollup
Common MistakemailchimpnewsletterPaid Other / (other)Lost email volume, skewed CPA
Official SMS SpectwiliosmsSMSCorrect messaging attribution
Common MistaketwilioSMSUnassignedCase-sensitivity failure
Messaging ApplinereferralReferral / Organic SocialCorrectly excluded from SMS
Push NotificationfirebasenotificationMobile PushMatches OR condition
Push Notificationcustom_toolweb-pushMobile PushMatches suffix condition

This finding matters because it shifts the problem from "analytics configuration" to "data governance". You cannot fix misclassification by tweaking GA4 settings. You fix it by enforcing strict UTM schemas at the point of link generation. When teams align their parameter generation with the official specification, channel reports become deterministic, cross-channel budget comparisons become valid, and automated attribution pipelines stop leaking sessions into Unassigned.

Core Solution

Implementing reliable GA4 channel attribution requires treating UTM generation as a typed data contract rather than a marketing convenience. The solution involves three phases: rule extraction, validation enforcement, and generation standardization.

Step 1: Extract the Official Classification Rules

GA4's Default Channel Group evaluates utm_source and utm_medium using three matching strategies:

  1. Regex alternation: Multiple acceptable string variants separated by |
  2. Exact match: Case-sensitive, literal string comparison
  3. Composite OR conditions: Multiple independent triggers where satisfying any one qualifies the channel

For the three most

🎉 Mid-Year Sale — Unlock Full Article

Base plan from just $4.99/mo or $49/yr

Sign in to read the full article and unlock all 635+ tutorials.

Sign In / Register — Start Free Trial

7-day free trial · Cancel anytime · 30-day money-back