How SourceMedium normalizes UTM fields and how to query UTM-based dimensions safely.
UTM fields are used across SourceMedium for segmentation, channel mapping, and conversion analysis. In many places, SourceMedium already normalizes these fields (lowercase, trimmed, and cleaned).
If you’re joining or filtering on user-supplied strings (e.g., config sheet inputs, custom uploads), normalize on the fly:
LOWER(TRIM(value)).
SELECT COALESCE(NULLIF(LOWER(TRIM(sm_utm_source)), ''), '(unknown)') AS sm_utm_source, COALESCE(NULLIF(LOWER(TRIM(sm_utm_medium)), ''), '(unknown)') AS sm_utm_medium, COUNT(*) AS order_count, SUM(order_net_revenue) AS net_revenueFROM `your_project.sm_transformed_v2.obt_orders`WHERE is_order_sm_valid = TRUE AND order_processed_at_local_datetime >= DATETIME_SUB(CURRENT_DATETIME(), INTERVAL 30 DAY)GROUP BY 1, 2ORDER BY net_revenue DESCLIMIT 200;