mirror of
https://github.com/umami-software/umami.git
synced 2025-12-08 05:12:36 +01:00
optimize attribution report
This commit is contained in:
parent
b97a790acd
commit
5280fb4310
2 changed files with 28 additions and 20 deletions
|
|
@ -1,10 +1,11 @@
|
|||
import Funnel from '@/assets/funnel.svg';
|
||||
import Money from '@/assets/money.svg';
|
||||
import Lightbulb from '@/assets/lightbulb.svg';
|
||||
import Magnet from '@/assets/magnet.svg';
|
||||
import Money from '@/assets/money.svg';
|
||||
import Path from '@/assets/path.svg';
|
||||
import Tag from '@/assets/tag.svg';
|
||||
import Target from '@/assets/target.svg';
|
||||
import Network from '@/assets/network.svg';
|
||||
import { useMessages, useTeamUrl } from '@/components/hooks';
|
||||
import PageHeader from '@/components/layout/PageHeader';
|
||||
import Link from 'next/link';
|
||||
|
|
@ -58,12 +59,12 @@ export function ReportTemplates({ showHeader = true }: { showHeader?: boolean })
|
|||
url: renderTeamUrl('/reports/revenue'),
|
||||
icon: <Money />,
|
||||
},
|
||||
// {
|
||||
// title: formatMessage(labels.attribution),
|
||||
// description: formatMessage(labels.attributionDescription),
|
||||
// url: renderTeamUrl('/reports/attribution'),
|
||||
// icon: <Network />,
|
||||
// },
|
||||
{
|
||||
title: formatMessage(labels.attribution),
|
||||
description: formatMessage(labels.attributionDescription),
|
||||
url: renderTeamUrl('/reports/attribution'),
|
||||
icon: <Network />,
|
||||
},
|
||||
];
|
||||
|
||||
return (
|
||||
|
|
|
|||
|
|
@ -261,13 +261,14 @@ async function clickhouseQuery(
|
|||
select
|
||||
we.${utmColumn} name,
|
||||
${currency ? 'sum(e.value)' : 'uniqExact(we.session_id)'} value
|
||||
from events e
|
||||
join model m
|
||||
on m.session_id = e.session_id
|
||||
from model m
|
||||
join website_event we
|
||||
on we.created_at = m.created_at
|
||||
and we.session_id = m.session_id
|
||||
${currency ? '' : `where we.${utmColumn} != ''`}
|
||||
${currency ? 'join events e on e.session_id = m.session_id' : ''}
|
||||
where we.website_id = {websiteId:UUID}
|
||||
and we.created_at between {startDate:DateTime64} and {endDate:DateTime64}
|
||||
${currency ? '' : `and we.${utmColumn} != ''`}
|
||||
group by 1
|
||||
order by 2 desc
|
||||
limit 20`;
|
||||
|
|
@ -311,6 +312,8 @@ async function clickhouseQuery(
|
|||
from events e
|
||||
join website_event we
|
||||
on we.session_id = e.session_id
|
||||
where we.website_id = {websiteId:UUID}
|
||||
and we.created_at between {startDate:DateTime64} and {endDate:DateTime64}
|
||||
group by e.session_id)`
|
||||
: `\n
|
||||
model AS (select e.session_id,
|
||||
|
|
@ -318,7 +321,9 @@ async function clickhouseQuery(
|
|||
from events e
|
||||
join website_event we
|
||||
on we.session_id = e.session_id
|
||||
where we.created_at < e.max_dt
|
||||
where we.website_id = {websiteId:UUID}
|
||||
and we.created_at between {startDate:DateTime64} and {endDate:DateTime64}
|
||||
and we.created_at < e.max_dt
|
||||
group by e.session_id)`;
|
||||
}
|
||||
|
||||
|
|
@ -333,16 +338,17 @@ async function clickhouseQuery(
|
|||
${getModelQuery(model)}
|
||||
select we.referrer_domain name,
|
||||
${currency ? 'sum(e.value)' : 'uniqExact(we.session_id)'} value
|
||||
from events e
|
||||
join model m
|
||||
on m.session_id = e.session_id
|
||||
from model m
|
||||
join website_event we
|
||||
on we.created_at = m.created_at
|
||||
and we.session_id = m.session_id
|
||||
${currency ? 'join events e on e.session_id = m.session_id' : ''}
|
||||
where we.website_id = {websiteId:UUID}
|
||||
and we.created_at between {startDate:DateTime64} and {endDate:DateTime64}
|
||||
${
|
||||
currency
|
||||
? ''
|
||||
: `where referrer_domain != hostname
|
||||
: `and we.referrer_domain != hostname
|
||||
and we.referrer_domain != ''`
|
||||
}
|
||||
group by 1
|
||||
|
|
@ -368,13 +374,14 @@ async function clickhouseQuery(
|
|||
li_fat_id != '', ' LinkedIn Ads',
|
||||
twclid != '', 'Twitter Ads (X)','') name,
|
||||
${currency ? 'sum(e.value)' : 'uniqExact(we.session_id)'} value
|
||||
from events e
|
||||
join model m
|
||||
on m.session_id = e.session_id
|
||||
from model m
|
||||
join website_event we
|
||||
on we.created_at = m.created_at
|
||||
and we.session_id = m.session_id
|
||||
${currency ? '' : `WHERE name != ''`}
|
||||
${currency ? 'join events e on e.session_id = m.session_id' : ''}
|
||||
where we.website_id = {websiteId:UUID}
|
||||
and we.created_at between {startDate:DateTime64} and {endDate:DateTime64}
|
||||
${currency ? '' : `and name != ''`}
|
||||
group by 1
|
||||
order by 2 desc
|
||||
limit 20
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue