We have been be trying to correct our channel grouping for a while now but we needed them for diagnostic purposes. I wanted my reports to be accurate in Data Studio so i added Custom Channel Groupings to my GA data as a custom field.
Some knowledge of Regex might be good but isn’t required. Basically i used CASE Function to assign values on conditions. For example if the medium is email then the traffic we are getting is from a newsletter, so i added that into the CASE Function.
CASE
WHEN ((Source="direct" AND Medium="(not set)") OR Medium="(none)") THEN "Direct"
WHEN Medium="organic" THEN "Organic Search"
WHEN (REGEXP_MATCH(Medium,"^(osome)$")) or Medium="OSoMe" THEN "Organic SM"
WHEN Medium="Email" or Medium="email" THEN "Newsletter"
WHEN Medium="referral" THEN "Referral"
WHEN (REGEXP_MATCH(Medium,"^(cpc|ppc|paidsearch)$") AND t0._ga:adDistributionNetwork_!="Content") THEN "Paid Search"
WHEN Medium="paid" or Medium="Paid" or Medium="Ads" THEN "Paid MKT"
when Medium="CollaborativeAds" Then "RB Ads"
WHEN (REGEXP_MATCH(Medium,"^(display|cpm|banner)$") OR Ad Distribution Network="Content") THEN "Display" ELSE "(Other)"
END