Custom channel grouping

Requirements for this tutorial: Working setup of Windsor.ai multitouch attribution enabled.

In this example we're going to set up a custom channel grouping in Windsor.ai. The implementation is done using a PostgreSQL case statement.

To access your Channel Groupings head to the Dataset management section on Windsor.ai charts.

Here you will see a list of data sets.

CASE 
  WHEN 
    source = '(direct)' 
    AND 
    (medium = '(not set)' OR medium = '(none)') 
    THEN 'Direct'
  WHEN 
    medium = 'organic'
    THEN 'Organic Search'
  WHEN
    medium ~ '^(social|social-network|social-media|sm|social network|social media|paids-social)$'
    THEN 'Social'
  WHEN
    medium = 'email'
    THEN 'Email'
  WHEN
    medium = 'affiliate'
    THEN 'Affiliates'
  WHEN
    medium = 'referral'
    THEN 'Referral'
  WHEN
    medium ~ '^(cpc|ppc|paidsearch)$'
    THEN 'Paid Search'
  WHEN
    medium ~ ' ^(cpv|cpa|cpp|content-text)$'
    THEN 'Other Advertising'
  WHEN
    medium ~ '^(display|cpm|banner)$'
    THEN 'Display'
  ELSE '(Other)'
END

In this example we're going to customise the standard channel grouping to add branded and generic paid search:

CASE 
  WHEN 
    source = '(direct)' 
    AND 
    (medium = '(not set)' OR medium = '(none)') 
    THEN 'Direct'
  WHEN 
    medium = 'organic'
    THEN 'Organic Search'
  WHEN
    medium ~ '^(social|social-network|social-media|sm|social network|social media|paids-social)$'
    THEN 'Social'
  WHEN
    medium = 'email'
    THEN 'Email'
  WHEN
    medium = 'affiliate'
    THEN 'Affiliates'
  WHEN
    medium = 'referral'
    THEN 'Referral'
  WHEN
    medium ~ '^(cpc|ppc|paidsearch)$' AND campaign ~ '(brand)'
    THEN 'Branded - Paid Search'
  WHEN
    medium ~ '^(cpc|ppc|paidsearch)$' AND campaign !~ '(brand)'
    THEN 'Generic - Paid Search'
  WHEN
    medium ~ ' ^(cpv|cpa|cpp|content-text)$'
    THEN 'Other Advertising'
  WHEN
    medium ~ '^(display|cpm|banner)$'
    THEN 'Display'
  ELSE '(Other)'
END