add LLM channel logic
This commit is contained in:
@@ -180,6 +180,7 @@
|
|||||||
"links": "Links",
|
"links": "Links",
|
||||||
"location": "Location",
|
"location": "Location",
|
||||||
"login": "Login",
|
"login": "Login",
|
||||||
|
"llm": "LLM",
|
||||||
"logout": "Logout",
|
"logout": "Logout",
|
||||||
"manage": "Manage",
|
"manage": "Manage",
|
||||||
"manager": "Manager",
|
"manager": "Manager",
|
||||||
|
|||||||
@@ -307,6 +307,7 @@ export const labels: Record<string, string> = {
|
|||||||
affiliate: 'label.affiliate',
|
affiliate: 'label.affiliate',
|
||||||
email: 'label.email',
|
email: 'label.email',
|
||||||
sms: 'label.sms',
|
sms: 'label.sms',
|
||||||
|
llm: 'label.llm',
|
||||||
organicSearch: 'label.organic-search',
|
organicSearch: 'label.organic-search',
|
||||||
organicSocial: 'label.organic-social',
|
organicSocial: 'label.organic-social',
|
||||||
organicShopping: 'label.organic-shopping',
|
organicShopping: 'label.organic-shopping',
|
||||||
|
|||||||
@@ -326,16 +326,23 @@ export const SOCIAL_DOMAINS = [
|
|||||||
export const SEARCH_DOMAINS = [
|
export const SEARCH_DOMAINS = [
|
||||||
'baidu.com',
|
'baidu.com',
|
||||||
'bing.com',
|
'bing.com',
|
||||||
'chatgpt.com',
|
|
||||||
'duckduckgo.com',
|
'duckduckgo.com',
|
||||||
'ecosia.org',
|
'ecosia.org',
|
||||||
'google.',
|
'google.',
|
||||||
'msn.com',
|
'msn.com',
|
||||||
'perplexity.ai',
|
|
||||||
'search.brave.com',
|
'search.brave.com',
|
||||||
'yandex.',
|
'yandex.',
|
||||||
];
|
];
|
||||||
|
|
||||||
|
export const LLM_DOMAINS = [
|
||||||
|
'chatgpt.com',
|
||||||
|
'claude.ai',
|
||||||
|
'copilot.microsoft.com',
|
||||||
|
'gemini.google.com',
|
||||||
|
'meta.ai',
|
||||||
|
'perplexity.ai',
|
||||||
|
];
|
||||||
|
|
||||||
export const SHOPPING_DOMAINS = [
|
export const SHOPPING_DOMAINS = [
|
||||||
'alibaba.com',
|
'alibaba.com',
|
||||||
'aliexpress.com',
|
'aliexpress.com',
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
import clickhouse from '@/lib/clickhouse';
|
import clickhouse from '@/lib/clickhouse';
|
||||||
import {
|
import {
|
||||||
EMAIL_DOMAINS,
|
EMAIL_DOMAINS,
|
||||||
|
LLM_DOMAINS,
|
||||||
PAID_AD_PARAMS,
|
PAID_AD_PARAMS,
|
||||||
SEARCH_DOMAINS,
|
SEARCH_DOMAINS,
|
||||||
SHOPPING_DOMAINS,
|
SHOPPING_DOMAINS,
|
||||||
@@ -88,6 +89,7 @@ async function relationalQuery(
|
|||||||
when ${toPostgresPositionClause('utm_medium', ['referral', 'app', 'link'])} then 'referral'
|
when ${toPostgresPositionClause('utm_medium', ['referral', 'app', 'link'])} then 'referral'
|
||||||
when utm_medium ilike '%affiliate%' then 'affiliate'
|
when utm_medium ilike '%affiliate%' then 'affiliate'
|
||||||
when utm_medium ilike '%sms%' or utm_source ilike '%sms%' then 'sms'
|
when utm_medium ilike '%sms%' or utm_source ilike '%sms%' then 'sms'
|
||||||
|
when ${toPostgresPositionClause('referrer_domain', LLM_DOMAINS)} then 'llm'
|
||||||
when ${toPostgresPositionClause('referrer_domain', SEARCH_DOMAINS)} or utm_medium ilike '%organic%' then concat(prefix, 'Search')
|
when ${toPostgresPositionClause('referrer_domain', SEARCH_DOMAINS)} or utm_medium ilike '%organic%' then concat(prefix, 'Search')
|
||||||
when ${toPostgresPositionClause('referrer_domain', SOCIAL_DOMAINS)} then concat(prefix, 'Social')
|
when ${toPostgresPositionClause('referrer_domain', SOCIAL_DOMAINS)} then concat(prefix, 'Social')
|
||||||
when ${toPostgresPositionClause('referrer_domain', EMAIL_DOMAINS)} or utm_medium ilike '%mail%' then 'email'
|
when ${toPostgresPositionClause('referrer_domain', EMAIL_DOMAINS)} or utm_medium ilike '%mail%' then 'email'
|
||||||
@@ -149,6 +151,9 @@ async function clickhouseQuery(
|
|||||||
when multiSearchAny(lower(utm_medium), ['referral', 'app','link']) != 0 then 'referral'
|
when multiSearchAny(lower(utm_medium), ['referral', 'app','link']) != 0 then 'referral'
|
||||||
when position(lower(utm_medium), 'affiliate') > 0 then 'affiliate'
|
when position(lower(utm_medium), 'affiliate') > 0 then 'affiliate'
|
||||||
when position(lower(utm_medium), 'sms') > 0 or position(lower(utm_source), 'sms') > 0 then 'sms'
|
when position(lower(utm_medium), 'sms') > 0 or position(lower(utm_source), 'sms') > 0 then 'sms'
|
||||||
|
when multiSearchAny(lower(referrer_domain), [${toClickHouseStringArray(
|
||||||
|
LLM_DOMAINS,
|
||||||
|
)}]) != 0 then 'llm'
|
||||||
when multiSearchAny(lower(referrer_domain), [${toClickHouseStringArray(
|
when multiSearchAny(lower(referrer_domain), [${toClickHouseStringArray(
|
||||||
SEARCH_DOMAINS,
|
SEARCH_DOMAINS,
|
||||||
)}]) != 0 or position(lower(utm_medium), 'organic') > 0 then concat(prefix, 'Search')
|
)}]) != 0 or position(lower(utm_medium), 'organic') > 0 then concat(prefix, 'Search')
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
import clickhouse from '@/lib/clickhouse';
|
import clickhouse from '@/lib/clickhouse';
|
||||||
import {
|
import {
|
||||||
EMAIL_DOMAINS,
|
EMAIL_DOMAINS,
|
||||||
|
LLM_DOMAINS,
|
||||||
PAID_AD_PARAMS,
|
PAID_AD_PARAMS,
|
||||||
SEARCH_DOMAINS,
|
SEARCH_DOMAINS,
|
||||||
SHOPPING_DOMAINS,
|
SHOPPING_DOMAINS,
|
||||||
@@ -57,6 +58,7 @@ async function relationalQuery(websiteId: string, filters: QueryFilters) {
|
|||||||
when ${toPostgresLikeClause('utm_medium', ['referral', 'app', 'link'])} then 'referral'
|
when ${toPostgresLikeClause('utm_medium', ['referral', 'app', 'link'])} then 'referral'
|
||||||
when utm_medium ilike '%affiliate%' then 'affiliate'
|
when utm_medium ilike '%affiliate%' then 'affiliate'
|
||||||
when utm_medium ilike '%sms%' or utm_source ilike '%sms%' then 'sms'
|
when utm_medium ilike '%sms%' or utm_source ilike '%sms%' then 'sms'
|
||||||
|
when ${toPostgresLikeClause('referrer_domain', LLM_DOMAINS)} then 'llm'
|
||||||
when ${toPostgresLikeClause('referrer_domain', SEARCH_DOMAINS)} or utm_medium ilike '%organic%' then concat(prefix, 'Search')
|
when ${toPostgresLikeClause('referrer_domain', SEARCH_DOMAINS)} or utm_medium ilike '%organic%' then concat(prefix, 'Search')
|
||||||
when ${toPostgresLikeClause('referrer_domain', SOCIAL_DOMAINS)} then concat(prefix, 'Social')
|
when ${toPostgresLikeClause('referrer_domain', SOCIAL_DOMAINS)} then concat(prefix, 'Social')
|
||||||
when ${toPostgresLikeClause('referrer_domain', EMAIL_DOMAINS)} or utm_medium ilike '%mail%' then 'email'
|
when ${toPostgresLikeClause('referrer_domain', EMAIL_DOMAINS)} or utm_medium ilike '%mail%' then 'email'
|
||||||
@@ -102,6 +104,9 @@ async function clickhouseQuery(
|
|||||||
when multiSearchAny(lower(utm_medium), ['referral', 'app','link']) != 0 then 'referral'
|
when multiSearchAny(lower(utm_medium), ['referral', 'app','link']) != 0 then 'referral'
|
||||||
when position(lower(utm_medium), 'affiliate') > 0 then 'affiliate'
|
when position(lower(utm_medium), 'affiliate') > 0 then 'affiliate'
|
||||||
when position(lower(utm_medium), 'sms') > 0 or position(lower(utm_source), 'sms') > 0 then 'sms'
|
when position(lower(utm_medium), 'sms') > 0 or position(lower(utm_source), 'sms') > 0 then 'sms'
|
||||||
|
when multiSearchAny(lower(referrer_domain), [${toClickHouseStringArray(
|
||||||
|
LLM_DOMAINS,
|
||||||
|
)}]) != 0 then 'llm'
|
||||||
when multiSearchAny(lower(referrer_domain), [${toClickHouseStringArray(
|
when multiSearchAny(lower(referrer_domain), [${toClickHouseStringArray(
|
||||||
SEARCH_DOMAINS,
|
SEARCH_DOMAINS,
|
||||||
)}]) != 0 or position(lower(utm_medium), 'organic') > 0 then concat(prefix, 'Search')
|
)}]) != 0 or position(lower(utm_medium), 'organic') > 0 then concat(prefix, 'Search')
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
import clickhouse from '@/lib/clickhouse';
|
import clickhouse from '@/lib/clickhouse';
|
||||||
import {
|
import {
|
||||||
EMAIL_DOMAINS,
|
EMAIL_DOMAINS,
|
||||||
|
LLM_DOMAINS,
|
||||||
PAID_AD_PARAMS,
|
PAID_AD_PARAMS,
|
||||||
SEARCH_DOMAINS,
|
SEARCH_DOMAINS,
|
||||||
SHOPPING_DOMAINS,
|
SHOPPING_DOMAINS,
|
||||||
@@ -210,6 +211,7 @@ async function relationalQuery(
|
|||||||
when ${toPostgresLikeClause('utm_medium', ['referral', 'app', 'link'])} then 'referral'
|
when ${toPostgresLikeClause('utm_medium', ['referral', 'app', 'link'])} then 'referral'
|
||||||
when utm_medium ilike '%affiliate%' then 'affiliate'
|
when utm_medium ilike '%affiliate%' then 'affiliate'
|
||||||
when utm_medium ilike '%sms%' or utm_source ilike '%sms%' then 'sms'
|
when utm_medium ilike '%sms%' or utm_source ilike '%sms%' then 'sms'
|
||||||
|
when ${toPostgresLikeClause('referrer_domain', LLM_DOMAINS)} then 'llm'
|
||||||
when ${toPostgresLikeClause('referrer_domain', SEARCH_DOMAINS)} or utm_medium ilike '%organic%' then concat(prefix, 'Search')
|
when ${toPostgresLikeClause('referrer_domain', SEARCH_DOMAINS)} or utm_medium ilike '%organic%' then concat(prefix, 'Search')
|
||||||
when ${toPostgresLikeClause('referrer_domain', SOCIAL_DOMAINS)} then concat(prefix, 'Social')
|
when ${toPostgresLikeClause('referrer_domain', SOCIAL_DOMAINS)} then concat(prefix, 'Social')
|
||||||
when ${toPostgresLikeClause('referrer_domain', EMAIL_DOMAINS)} or utm_medium ilike '%mail%' then 'email'
|
when ${toPostgresLikeClause('referrer_domain', EMAIL_DOMAINS)} or utm_medium ilike '%mail%' then 'email'
|
||||||
@@ -402,6 +404,9 @@ async function clickhouseQuery(
|
|||||||
when multiSearchAny(lower(utm_medium), ['referral', 'app','link']) != 0 then 'referral'
|
when multiSearchAny(lower(utm_medium), ['referral', 'app','link']) != 0 then 'referral'
|
||||||
when position(lower(utm_medium), 'affiliate') > 0 then 'affiliate'
|
when position(lower(utm_medium), 'affiliate') > 0 then 'affiliate'
|
||||||
when position(lower(utm_medium), 'sms') > 0 or position(lower(utm_source), 'sms') > 0 then 'sms'
|
when position(lower(utm_medium), 'sms') > 0 or position(lower(utm_source), 'sms') > 0 then 'sms'
|
||||||
|
when multiSearchAny(lower(referrer_domain), [${toClickHouseStringArray(
|
||||||
|
LLM_DOMAINS,
|
||||||
|
)}]) != 0 then 'llm'
|
||||||
when multiSearchAny(lower(referrer_domain), [${toClickHouseStringArray(
|
when multiSearchAny(lower(referrer_domain), [${toClickHouseStringArray(
|
||||||
SEARCH_DOMAINS,
|
SEARCH_DOMAINS,
|
||||||
)}]) != 0 or position(lower(utm_medium), 'organic') > 0 then concat(prefix, 'Search')
|
)}]) != 0 or position(lower(utm_medium), 'organic') > 0 then concat(prefix, 'Search')
|
||||||
|
|||||||
Reference in New Issue
Block a user