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
Sample Data used to illustrate a point