Arthur Sepiol
a902a87c08
feat: implement identity stitching for session linking ( #3820 )
...
Adds automatic session linking/identity stitching to link anonymous
browsing sessions with authenticated user sessions.
## Changes
### Database Schema
- Add `identity_link` table (PostgreSQL + ClickHouse) to store mappings
between visitor IDs and authenticated user IDs
- Add `visitor_id` field to `Session` model
- Add `visitor_id` column to ClickHouse `website_event` table
### Client Tracker
- Generate and persist `visitor_id` in localStorage
- Include `vid` in all tracking payloads
- Support opt-out via `data-identity-stitching="false"` attribute
### API
- Accept `vid` parameter in `/api/send` endpoint
- Auto-create identity links when `identify()` is called with both
visitor_id and distinct_id
- Store visitor_id in sessions and events
### Query Updates
- Update `getWebsiteStats` to deduplicate visitors by resolved identity
- Visitors who browse anonymously then log in are now counted as one user
## Usage
When a user logs in, call `umami.identify(userId)`. If identity stitching
is enabled (default), the tracker automatically links the anonymous
visitor_id to the authenticated userId. Stats queries then resolve
linked identities to accurately count unique visitors.
Resolves #3820
2025-12-03 16:06:54 +03:00
Francis Cao
16451dd5cd
update CH view to account for new event types
Create docker images / Build, push, and deploy (push) Waiting to run
Node.js CI / build (postgresql, 18.18, 10) (push) Waiting to run
2025-10-02 10:18:13 -07:00
Mike Cao
0558563d35
Merge branch 'dev' of https://github.com/umami-software/umami into dev
2025-08-15 10:08:41 -07:00
Mike Cao
88639dfe83
New schema for pixels and links.
2025-08-13 20:27:54 -07:00
Francis Cao
822ddee9ae
update ch schema for custom data numbers
2025-08-12 09:15:42 -07:00
Francis Cao
38f251ead5
finish expanded queries and ui.
2025-08-07 09:47:18 -07:00
Mike Cao
45c9ea9c22
Merge branch 'dev' into jajaja
...
# Conflicts:
# db/mysql/schema.prisma
# package.json
# pnpm-lock.yaml
# src/app/(main)/reports/[reportId]/ReportBody.tsx
# src/app/(main)/reports/[reportId]/ReportPage.tsx
# src/app/(main)/reports/utm/UTMView.tsx
# src/app/(main)/websites/[websiteId]/WebsiteMetricsBar.tsx
# src/app/(main)/websites/[websiteId]/WebsiteTableView.tsx
# src/app/(main)/websites/[websiteId]/events/EventsPage.tsx
# src/app/api/reports/[reportId]/route.ts
# src/app/api/websites/[websiteId]/metrics/route.ts
# src/components/hooks/queries/useReport.ts
# src/components/icons.ts
# src/components/messages.ts
# src/components/metrics/MetricsTable.module.css
# src/components/metrics/MetricsTable.tsx
# src/queries/sql/events/getEventMetrics.ts
# src/queries/sql/reports/getUTM.ts
2025-07-23 23:39:28 -07:00
Francis Cao
da7f4cb2d0
create and apply mysql migrations
2025-07-18 10:26:24 -07:00
Mike Cao
a9a9b57f80
Merge branch 'dev' into jajaja
...
# Conflicts:
# pnpm-lock.yaml
# src/app/(main)/websites/[websiteId]/events/EventProperties.tsx
# src/components/messages.ts
# src/lib/constants.ts
# src/queries/sql/pageviews/getPageviewMetrics.ts
# src/queries/sql/sessions/getWebsiteSessions.ts
2025-07-15 13:01:50 -07:00
Francis Cao
2dcb9e21bd
change pagestable to visitors and update clickhouse hostname column to array
2025-07-13 22:44:09 -07:00
Mike Cao
bf6c9395c6
Revert Prisma build.
2025-07-12 15:18:01 -07:00
Mike Cao
514ea70d2a
Removed queryCompiler.
2025-07-12 14:24:51 -07:00
Mike Cao
2dbe80b7ca
Updated db build.
2025-07-12 13:56:45 -07:00
Mike Cao
c98f324c22
Settings refactor.
2025-07-11 22:55:30 -07:00
Mike Cao
87449ece9e
Merge branch 'dev' into jajaja
...
# Conflicts:
# db/postgresql/schema.prisma
# pnpm-lock.yaml
# src/app/(main)/websites/[websiteId]/WebsiteDetailsPage.tsx
# src/app/(main)/websites/[websiteId]/compare/WebsiteComparePage.tsx
# src/app/api/reports/route.ts
# src/app/api/websites/[websiteId]/events/series/route.ts
# src/app/api/websites/[websiteId]/metrics/route.ts
# src/app/api/websites/[websiteId]/pageviews/route.ts
# src/app/api/websites/[websiteId]/sessions/stats/route.ts
# src/app/api/websites/[websiteId]/stats/route.ts
# src/app/api/websites/[websiteId]/values/route.ts
# src/components/hooks/useFields.ts
# src/components/hooks/useFilterParams.ts
# src/lang/vi-VN.json
# src/lib/clickhouse.ts
# src/lib/detect.ts
# src/lib/prisma.ts
# src/lib/request.ts
# src/lib/schema.ts
# src/lib/types.ts
# src/queries/sql/events/getEventDataFields.ts
# src/queries/sql/events/getEventDataProperties.ts
# src/queries/sql/events/getEventDataStats.ts
# src/queries/sql/events/getEventDataValues.ts
# src/queries/sql/events/getEventMetrics.ts
# src/queries/sql/events/getWebsiteEvents.ts
# src/queries/sql/getChannelMetrics.ts
# src/queries/sql/getRealtimeActivity.ts
# src/queries/sql/getWebsiteStats.ts
# src/queries/sql/pageviews/getPageviewMetrics.ts
# src/queries/sql/pageviews/getPageviewStats.ts
# src/queries/sql/reports/getBreakdown.ts
# src/queries/sql/sessions/getSessionDataProperties.ts
# src/queries/sql/sessions/getSessionDataValues.ts
# src/queries/sql/sessions/getSessionMetrics.ts
# src/queries/sql/sessions/getSessionStats.ts
# src/queries/sql/sessions/getWebsiteSessionStats.ts
# src/queries/sql/sessions/getWebsiteSessions.ts
2025-07-08 22:03:55 -07:00
Mike Cao
5ed1d710cb
Merge branch 'master' into jajaja
...
# Conflicts:
# package.json
# pnpm-lock.yaml
# src/lib/detect.ts
2025-07-08 18:45:02 -07:00
Mike Cao
b2a6e3f842
Merge pull request #3505 from eoussama/master
...
Added optional website ID for creation
2025-07-07 22:58:16 -07:00
Mike Cao
f26f1b0581
Updated next and pg packages.
2025-07-02 11:54:17 -07:00
Mike Cao
dfeac89236
Changed Prisma provider.
2025-07-02 11:10:47 -07:00
Francis Cao
5ffafc71fc
finish segments, update migration from filters to parameters
2025-06-20 10:27:57 -07:00
Mike Cao
f444c6373d
Updated packages. Fixed loading errors.
2025-06-18 01:39:12 -07:00
Matt Harrington
19ccfa0745
fixing the clickhouse schema file
2025-06-13 12:17:18 -07:00
Francis Cao
f61421b742
segments implementation and migration update. update getRequestFilters to include filter groups.
2025-06-13 07:34:54 -07:00
Mike Cao
b2aa37a3df
Merge branch 'dev' into jajaja
...
# Conflicts:
# db/postgresql/schema.prisma
# src/queries/sql/reports/getRevenue.ts
2025-06-10 21:11:44 -07:00
Mike Cao
e3cc19638c
Breakdown report.
2025-06-10 20:59:27 -07:00
Francis Cao
49b4948d0f
add revenue table and save
2025-06-09 11:59:39 -07:00
Mike Cao
0027502707
Merge branch 'dev' into jajaja
...
# Conflicts:
# src/lib/detect.ts
# src/queries/sql/reports/getRevenue.ts
2025-06-08 22:26:26 -07:00
Francis Cao
9a437dcfa2
convert attribution report
2025-06-07 07:43:36 -07:00
Mike Cao
2af95b5802
Upgraded Prisma, use new query compiler. Removed old reports.
2025-06-07 00:15:30 -07:00
Francis Cao
a16846f4ce
add website_revenue table and view. update revenue report to use view
2025-06-06 08:47:52 -07:00
Mike Cao
3847e32f39
More work on reports. Added Funnel page.
2025-06-05 22:19:35 -07:00
Francis Cao
57acaf9855
remove data conversion
2025-06-04 16:06:11 -07:00
Mike Cao
5159dd470f
Merge branch 'dev' into jajaja
2025-06-04 13:47:11 -07:00
Francis Cao
a9c7938887
add data conversion to report param migration
2025-06-04 09:53:31 -07:00
Francis Cao
76519e0d14
add segment and report param migrations
2025-06-04 09:27:28 -07:00
Mike Cao
49bcbfd7f9
New goals page. Upgraded prisma.
2025-05-31 02:11:18 -07:00
Mike Cao
d0d11225f4
Converted UTM report to a view.
2025-05-20 21:25:06 -07:00
Mike Cao
ba2f74c6ca
Removed mysql schema.
2025-05-09 22:06:39 -07:00
Mike Cao
6594c31a70
Use esbuild to build prisma client.
2025-05-01 04:38:43 -07:00
Mike Cao
63e0873b5d
Use generated prisma client.
2025-05-01 04:24:56 -07:00
Mike Cao
e89cf9e930
Removed generated prisma.
2025-04-30 21:28:02 -07:00
Francis Cao
de54290af6
add distinct id to saves and fix schema mapping
2025-04-29 09:31:46 -07:00
Francis Cao
c5efc27c07
distinct_id schema changes and search on sessions page
2025-04-29 08:57:58 -07:00
Mike Cao
5aaff55a70
Use custom path for generated Prisma client.
2025-04-28 16:51:24 -07:00
Francis Cao
12b8ac4272
app and db schema - region rename, hostname move
2025-04-24 22:42:33 -07:00
Francis Cao
e7fc482a30
add mysql/psql migrations for utm/click IDs
2025-04-14 13:12:06 -07:00
Francis Cao
e51ec70093
fix ch migration script
2025-04-13 18:46:53 -07:00
Francis Cao
b9a2145766
ch attribution report, schema changes, and migration
2025-04-13 18:12:03 -07:00
Francis Cao
203e782530
Create attribution report template and parameters
2025-03-18 10:00:23 -07:00
Mike Cao
07330bd930
Upgrade Prisma to v6.1.0.
...
(cherry picked from commit c0fd22cbf6 )
2025-01-18 17:01:14 -08:00