Commit Graph

694 Commits

Author SHA1 Message Date
Sanne de Vries dfeda94e06
Add report percentages to dashboard and details view (#5923)
* Update report percentages on dashboard and details view

* Add percentages to Countries, Regions, and Cities reports

* Add percentages to Channels, Sources, and UTM reports

* Add percentages to top pages, entry pages, and exit pages reports

* Update tests to include percentages

* Change dashboard copy from title case to sentence case

* Update details modal style

* Make animations snappier

* Introduce max height to modal and make inner content scrollable

* Improve modal mobile design

- Enable horizontal scroll for details modal on mobile
- Add responsive spacing and positioning to modal

* Added mobile tap behavior to external link in list report

* Show tooltips only when in comparison mode or when the number is abbreviated

* remove previously added showTooltip prop

- This isn't needed anymore since we now handle the tooltip logic in the MetricValue component

* Show long format upon hovering detailed view metrics

* Added mobile tapping behaviour to detailed view

* Added percentages to all detailed views

* Add mobile swipe-to-close behavior for modal

* Adjust sensitivity of modal drag to close

* Use hammerjs for swipe-to-close modal behaviour

* Prevent dragging if gesture starts inside table

* Show 2 decimal places for percentages < 0.1% across dashboard

* Adjust dark mode styles

* Add hover effect to external link icon

* Update tests to expect two-decimal percentages

* Undo hammer install and revert to old modal styling

* Remove CR and % columns from goals and custom props reports on dashboard, and show on hover in detailed view

* Remove unused constants

* Undo conversion rate on hover behaviour

- Unlike percentages, CR should show permanently.

* Show percentages permanently in custom props detailed view

* Adjust width of conversion metrics column

* Updated metric-value test

* Update top-bar test

* Added changelog entry

* Fix test expectations for percentages with imported data

- Update tests to expect correct percentages (≤100%) when imported data is included. These tests will fail until the percentage calculation bug is fixed, documenting the expected behavior.

* Add imported_visitors to tests to ensure correct total_visitors calculation

* Correct imported_visitors count in test
2025-12-16 12:43:16 +00:00
Artur Pata f07dc8dd49
Display segment filters to anyone that can see the dashboard being filtered by the segment (#5935)
* Remove segment filters secrecy

* Update changelog

* Update CHANGELOG.md

Co-authored-by: Adam Rutkowski <hq@mtod.org>

---------

Co-authored-by: Adam Rutkowski <hq@mtod.org>
2025-12-15 10:21:29 +00:00
Artur Pata e4b282a610
Fix broken v1 filters redirect (#5941) 2025-12-11 11:51:38 +00:00
Adrian Gruntkowski ee906f4033
Improvements to LV dashboard scaffolding (#5937)
* Remove redundant data-tile attribute

* Remove unused component

* Set  always to ignore for optimistic loading

* Use `patch` instead of `href` in `dashboard_link`

* Replace "widgets" with first-class hooks

* Fix `useEffect` React dependency
2025-12-10 12:18:29 +00:00
RobertJoonas d6673fbbd5
DashboardQueryParser & DashboardQuerySerializer (#5938)
* rename query_parser_test to api_query_parser_test

* allow metrics to be nil in ParsedQueryParams

* swap now with relative_date in ParsedQueryParams

* add DashboardQueryParser

* stop defining defaults in ParsedQueryParams

* add DashboardQuerySerializer

* make sure parse -> serialize is a reversible transformation

* fix codespell

* fix test and silence credo

* fix another test

* parse and serialize with_imported

* cleaner decode_filters

* precompile do_not_url_encode_map and simplify uri_encode_permissive

* remove prepending ? logic
2025-12-09 13:07:36 +00:00
Adrian Gruntkowski 16f1eb3075
Add necessary scaffolding for enabling LV on dashboard (#5930)
* Use forked version of

* Add necessary scaffolding for enabling LV on dashboard

* Implement basics for LV pages breakdown

* Make tile and tabs latency friendly

* Bring back eslint-disable pragma in live_socket.js

* Document the code somewhat

* Fix live navigation callback in React

* Make dashboard components inside portals testable

* Add very rudimentary basic tests

* Fix typo

* Fix eslint pragma in `live_socket.js`
2025-12-08 11:46:56 +00:00
Sanne de Vries a9050abdb4
Add hover state for location bars (#5896)
- As part of https://github.com/plausible/analytics/pull/5890, hover states were added to all bars on the dashboard, but the countries/regions/cities bars were missed.
2025-11-20 14:24:29 +00:00
Sanne de Vries dec382ccd5
Make various UI improvements (#5890)
- Fix invite modal z-index issues
- Improve invite modal design
- Add hover state to stats bars on dashboard
- Improve feature gate design
- Improve trial upgrade CTA design
2025-11-18 13:28:09 +00:00
Adrian Gruntkowski a2ba1256d2
Show revenue data in all breakdowns (#5767)
* Include revenue data for all detailed API responses except entry/exit pages

* Expose revenue data in all breakdown modals except entry/exit pages

* Add revenue metrics to breakdown response only on EE

* Change query builder to enable querying event metrics \w session dimension

* Add revenue metrics to entry and exit pages breakdowns

* Expose revenue data in entry and exit pages breakdowns

* Use `argMax` for `exit_page` and `exit_page_hostname` dimensions (h/t @ukutaht)

* Don't handle event-only dimensions with session-only metrics for now

* Add tests for all breakdowns

* Add clarifying comments in code

* Mark revenue tests as EE-only
2025-11-18 11:24:54 +00:00
Adam Rutkowski 08c7d2e948
Consolidated View life cycle + billing integration (#5866)
* Migration: add consolidated views feature to enterprise plans

* Migration: Add user preferences per team table

* Update static plan definitions

* Add feature module definition

* Display consolidated view availability in crm

* Extend ConsolidatedView interface:
 - add functions to manipulate user/team options (for CTA)
 - require at least two sites in order to create a consolidated view
 - require billing/plan compliance when computing eligibility

* Team/User preferences schema

* Implement consolidated view life cycle on /sites

Co-authored-by: Sanne de Vries <sannedv@protonmail.com>
Co-authored-by: Uku Taht <uku.taht@gmail.com>

* Enroll `consolidated_view` feature flag

* Consolidated view access hardening (+feature flag)

- require team-wise feature flag instead of super admin role
- redirect to /sites if the team isn't eligible any more
- enforce regular site in shared links controller

* Remove no longer needed `ConsolidatedView.enabled?/1`

* Alias PrimaDropdown

* No consolidates views for shared links

* Remove user argument from `ok_to_display?`

* Adjust a temporary test

* More elaborate alert

* Fix responsive design issues on sites page

- Fix z-index issue with button dropdown
- Fix truncation issue with team name
- Improve responsiveness of site cards
- Fix focus state of site cards
- Improve responsiveness of consolidated view CTA
- Improve design of prima_dropdown component
- Replace `+` with plus icons in dropdown items

* Use the plus icon for standalone "Add website" too

cc @sanne-san

* Format

* Fix z-index issue with dropdowns on sites page

* Remove TODOs

* Make consolidated view cards disappear when searching

* Clean up test

* Use per-team membership user preferences

* Use conditional instead of `with` statement

* Inline `ensure_eligible`

* Use `Map.fetch!` getting preference from default struct

* fixup

* Revert "Migration: add consolidated views feature to enterprise plans"

Will be included via main branch sync

This reverts commit 05bec55276.

* Fix and test feature-flag effect on both view and CTA cards

---------

Co-authored-by: Sanne de Vries <sannedv@protonmail.com>
Co-authored-by: Uku Taht <uku.taht@gmail.com>
2025-11-12 13:41:24 +00:00
RobertJoonas dfbf0a9f4e
remove external page links from consolidated views (#5880) 2025-11-12 13:02:28 +00:00
Artur Pata 2ca24e77cc
Make sure imported data switch appears on Safari (#5872) 2025-11-05 06:31:59 +00:00
Uku Taht 16cbc07f3d
Use Prima for invitation modal (#5843)
* Replace invitation modal with Prima

* Better focus handling

* Simplify css

* Remove unnecessary transition classes

* Clarify comment about testing

* Fix typo

* Remove alpine.js initialization

* Use prima 0.1.7

* Unlock autumn and rustler deps

* Npm run format

* Fix invitation modal reject button on mobile

Co-authored-by: Bijay-Shre-stha <bijayashrestha929@gmail.com>

* Update assets/js/liveview/live_socket.js

Co-authored-by: Artur Pata <artur.pata@gmail.com>

---------

Co-authored-by: Bijay-Shre-stha <bijayashrestha929@gmail.com>
Co-authored-by: Artur Pata <artur.pata@gmail.com>
2025-11-04 19:21:05 +00:00
Sanne de Vries ce424bf436
Update site switcher UI to accommodate for consolidated view (#5838)
* Update site switcher UI to accommodate for consolidated view

* Implement logic to display consolidated view in site picker

* Fix "All sites" selected state in site switcher

* Fixup tests

* Include consolidated view assigns in shared links

* Format

* Extract `ConsolidatedView.ok_to_display?/2`

* Format

* I'll pretend no one saw this

* Skip unnecessary `on_ee`

* oops

---------

Co-authored-by: Adam Rutkowski <hq@mtod.org>
2025-10-29 10:58:45 +00:00
Artur Pata 89c8cb3485
Make graphs dependant on centrally determined theme (#5840) 2025-10-28 11:18:25 +00:00
Sanne de Vries 90404c4ec3
Fix dark mode improvements oversights (#5839)
- Added dark mode change to CHANGELOG.md
- Fixed broken `WithImportedSwitch` icon focus outline
- Updated comments in `app.css` referencing old color scheme
2025-10-28 10:21:10 +00:00
Sanne de Vries 91363a2825
Improve dark mode (#5819)
* Improve dark mode

- Switch from `slate` to `zinc` for the gray color palette
- Darken overall dark mode UI
- Switch from `green` to `emerald` for the green color palette
- Update a few previously missed instances of title case to sentence case
- Consolidate button styles and change naming from `bright` to `secondary`
- Update button disabled styles
- Fix tooltip not adjusting to content width
- Update graph tooltip layout and typography
- Add transition effects to hover states
- Reduce footer logo size

* Fix oversights

- Update funnel graph colors
- Update graph grid colors
- Improve focus styles
- Improve disabled input styles

* Fix more oversights in relation to dashboard filtering

- Improve consistency of input, button, combobox and modal components in relation to settings area
- Fix segment tooltip color

* Fix search input style in funnel and segments dropdowns

* Add white background to favicon images in dark mode

- The GitHub and ChatGPT favicons are hard to see in dark mode, so we add a white background to them.

* Fix tooltip color to fit all backgrounds in dark mode

* Fix tests

* Fixed more tests

* Extract SourceFavicon component to eliminate favicon duplication

* Fix regression on installation page after rebase

* Fix formatting issues

* Fix favicon test failure in CI by reading placeholder icon at compile time

* Undo previous commit
2025-10-28 08:28:15 +00:00
Uku Taht 46000fd4bc
Implement custom date/time range comparisons (#5805)
* Implement custom date/time range comparisons

* Update ts schema

* Use Etc/UTC, not UTC - timezone shifted structs are differrent otherwise

* Remove debug statement

* Adjusts timezone in tests

---------

Co-authored-by: Adam Rutkowski <hq@mtod.org>
2025-10-16 06:14:49 +00:00
Uku Taht 6cdf8016e7
Tailwind v4 (#5756)
* WIP

* Add tailwind migration script

* Change deprecated classes via migration script

* Manual fixes

* Restore color configuration with CSS variables

* Convert the rest of the config

* Fix dropdown ring opacity

* Remove migration script

* Fix stylelint errors

* NPM run format

* Fix shadow and rounded variant usage

* Add custom CSS to components layer

* Fix dark: and hover: conflict in settings_tab

* Fix funnel form background opacity

* Fix final bg-opacity

* Bring back cursor-pointer for buttons by default

* npm run format
2025-09-29 15:21:15 +00:00
Adrian Gruntkowski 49cff303f4
Show bounce rate in Detail view of Top Entry Pages (#5747)
* Show bounce rate in Detail view of Top Entry Pages

* Update tests and test fixtures

* Update CHANGELOG.md
2025-09-23 11:38:20 +00:00
Sanne de Vries 32fa20cfb1
Make visual tweaks to the dashboard (#5726)
* Make visual tweaks to the dashboard

- Reduce shadow and increased border radius on cards, to be consistent with the rest of the app
- Reduce logo size
- Align horizontal and vertical spacing between cards
- Reduce line width of the main graph
- Fix horizontal alignment on tables
- Reduce border radius on sites overview for consistency with dashboard
- Add transition to hover effect on sites overview cards

* Remove negative margin from logo to ensure vertical centering

- The negative margin on the logo caused misalignment with the rest of the header
2025-09-16 13:57:20 +00:00
RobertJoonas 6e9bc6e2f1
do not crash dashboard when externalLinkForPage fails (#5724) 2025-09-15 11:13:01 +00:00
Karl-Aksel Puulmann 9af40a278d
Trim month, year, day periods to local now on main graph (#5698)
* Revert "Revert "Trim `month`, `year`, `day` periods to local now on main graph (#5668)" (#5684)"

This reverts commit 2d11681f25.

* Does not trim for comparisons

* Include the current hour in the trimmed time range
2025-09-04 09:13:17 +00:00
Adrian Gruntkowski 2d11681f25
Revert "Trim `month`, `year`, `day` periods to local now on main graph (#5668)" (#5684)
This reverts commit 563c3d22ba.
2025-08-28 14:58:57 +00:00
Adam Rutkowski 563c3d22ba
Trim `month`, `year`, `day` periods to local now on main graph (#5668)
* Trim `month`, `year`, `day` periods to now on main graph

* Revert "Trim `month`, `year`, `day` periods to now on main graph"

This reverts commit 4f3930111d3a2737a51686e067d9b64f0d85ad58.

* Re-implement trimming in query optimizer instead

* Update JS types

* This is getting confusing

* Trim in stats_controller

* Set `query.now` based on query_praser and date results

* query.period -> query.input_date_range

* Changelog

* Test for response query.date_range

---------

Co-authored-by: Karl-Aksel Puulmann <oxymaccy@gmail.com>
2025-08-28 09:51:56 +00:00
Adrian Gruntkowski 54641ccea6
Make generated iframe embed code work well with transparent background (#5672)
* Explicitly declare color scheme availability and preference

* Revert "Explicitly declare color scheme availability and preference"

This reverts commit e1e6242d29.

* Add `color-scheme: auto;` to generated iframe embed code
2025-08-27 11:36:05 +00:00
Adam Rutkowski 82941c93dd
Don't render external links for WP search_query property (#5649)
* Don't render external links for WP search_query property

* Fix external icon rendering in Firefox

* Use visibility rather than opacity

* fix indent
2025-08-18 12:42:55 +00:00
Adam Rutkowski 02d74bc8bd
Ensure no funnel tooltips appear on the main graph (#5638)
* Ensure no funnel tooltips appear on the main graph

* Update CHANGELOG

Funnels are not available in CE anyway 🤷
2025-08-14 09:14:41 +00:00
Artur Pata 73c46c6f4c
Stop segments tooltip cutoff (#5541) 2025-07-09 20:02:47 +00:00
RobertJoonas 6369d0efad
Dogfood script v2 (#5504)
* dogfood with script v2 + disable tracking in tests

* remove endpoint override

* disable dogfood tracking on localhost

* track pageviews from details views and filter modals
2025-06-25 10:56:02 +00:00
RobertJoonas e38bda6d00
Starter feature gates (UI) (#5426)
* replace yellow warning notice with more inviting cta (funnels)

* align VAT notice with /year on the upgrade page

* improve tooltip component

do not hide the tooltip when the mouse enters the tooltip itself directly
from the trigger element. This allows clicking links in tooltips.

* improve site segments feature gate UI

Disable the save button when site segment option is selected in create or
edit form. Also render a different upgrade notice if the user is not the owner.

* replace upgrade notices with blur UI

To fully get rid of Notice.premium_feature, we will also display a
"not allowed" cursor with tooltips asking to upgrade where necessary.

* extract toggle switch component

* Hide currency toggle from goal edit form

The currency field cannot be changed for an existing goal anyway. Therefore
it makes sense not to show it at all. This commit makes the currency picker
always visible when editing a revenue goal, and always hidden for custom
event edit form.

* simplify api key creation form

Turn "Sites API access" into a toggle switch identical to "Enable revenue
tracking" in goal creation form.

* remove team setup CTAs for Starter tier

* fix team member limit for starter

* adjust v5 plan limits and limit exceeded notices

* do not display global notices on upgrade-success page

* fix settings/subscription monthly quota boxes alignment

* fix CI

* use tailwind backdrop-blur

* remove dangling log + avoid passing setSaveDisabled

* remove duplicate function clauses revenue goals

* revert create api key UI change but disable button still

* optimize for darkmode

* blur team settings > team members for Starter

* rename team accounts to team management
2025-05-30 13:34:19 +00:00
hq1 c009b92fca
Customer support (#5390)
* Add profile_url helper clause

* Add notes

* Sort features alphabetically

* Fix checkbox/textarea components

* Unrlelated: update combobox docs

* Initial customer support UI

* Unrelated: don't expand member dropdown if disabled

* Cross link both CRMs

* Remove unused things

* Stop polluting history with tab navigation

* Truncate search results

* Format

* Use routes in favour of phx-click events

* Fix / keypress to search focus

* Rename phx event

* Rename remaining save events

* Fix up x-data

* Fix alpine placeholder event

* Enable progress animation with topbar

* Team: separate assign clauses per tab

* Site: separate assign clauses per tab

* lint

* Replace URI patch on filter text update

* Unifyu filter_bar component usage

* !fixup

* Fix up filter form event name

* Fix number formatting as you type

* Fix enterprise plan number inputs

* Link CS from HelpScout

* Remove target=_blank from kaffy URLs

* Pre-fill custom plans

* Rework the billing tab

* Make checkbox labels clickable

* Put Stats API first

* Format

* Credo

* !fixup

* Don't show empty labels
2025-05-15 08:05:32 +00:00
Artur Pata 34ae68456b
Unify notices under a single icon, add tooltip to export button (#5339) 2025-05-07 08:45:08 +00:00
Artur Pata 429b055920
Update headlessui to v1.7.19, refactor site switcher (#5255)
* Migrate some

* Making progress

* All fixed

* Convert interval picker to tsx

* Fix format

* Fix tests

* Make sure focus outline looks right on DropdownTabButton

* Refactor Site Switcher to Popover

* Fix site switcher test

* Better jsdom mocks in assets tests

* Try svg placeholder favicon

* Update favicon test

* Try giving transition config directly

* Remove empty props

* Remove unnecessary closeDropdown to prevent Firefox transition issue

* Register open dropmenus globally

This is needed to prevent invalid state when navigating with site hotkeys with Firefox while a dropdown is open and coming back using browser

* Colocate popover-specific component

* Clarify behaviour on hitting hotkey for current site

* Try fix Firefox issue

* Try 1.7.19

* Commit to @headlessui/react v1.7.x

* Fix last two transition origins

* Align active tab on baseline

* Remove unneeded global dropmenu state

* Add changelog

* Funnels menu is searchable and scrollable

* Fix transform origin

* Stop funnels menu from holding onto search state

* Mandate ref be passed to SearchInput from the outside
2025-05-07 05:22:53 +00:00
Artur Pata 05bd71a609
Make clicking Compare / Disable Comparison in period picker menu close the menu (#5333) 2025-04-16 11:39:59 +00:00
RobertJoonas 087b6e77bc
last 90 days -> last 91 days (#5301) 2025-04-09 16:40:06 +00:00
RobertJoonas 27290b9899
Change default period to today for brand new sites (#5298)
* default period to today for brand new sites

* use uppercase
2025-04-09 10:48:42 +00:00
Karl-Aksel Puulmann 3d1d0c5139
APIv2: More tolerant shorthands for date ranges (#5282)
* APIv2: More tolerant shorthands for date ranges

I was using APIv2 today and got pissed off that I couldn't do
`"date_range": "3d"`. So I went ahead and fixed this issue...

* Changelog

* typegen

* fix

* More invalid tests
2025-04-09 10:38:54 +00:00
RobertJoonas 4eb4b68b99
Sort by exit rate (#5289)
* WIP

* Works, maybe

* More tests

* format + slight refactor special_metrics

* implement exit_rate equivalent to current dashboard metric

* add validations to query_parser

* implement comparisons for exit_rate

* merge imported exit rate

* plug in the new metric

* make exit_rate sortable

* changelog

* generate types

* rename tests

* changelog

* maintain order of special metrics

* move exit_rate to the bottom as the less significant special metric

* capitalize null + query assign tweaks

* add comment

* Update lib/plausible/stats/sql/special_metrics.ex

Co-authored-by: Karl-Aksel Puulmann <macobo@users.noreply.github.com>

---------

Co-authored-by: Artur Pata <artur.pata@gmail.com>
Co-authored-by: Karl-Aksel Puulmann <macobo@users.noreply.github.com>
2025-04-09 09:47:12 +00:00
Karl-Aksel Puulmann f8ddecf080
APIv2: Fix autocomplete in Stats API playground (#5286)
Filters autocomplete only showed `"is", "segment"` under autocomplete
instead of all options. This is due to limitations in the vscode
autocomplete package which I don't fully understand but have to do with
partially overlapping `oneOf` definitions. As such the fix was to make
each `oneOf` element as independent of each other as possible.

Basecamp ref: http://localhost:8001/docs/stats-api-playground
2025-04-08 15:17:59 +00:00
Karl-Aksel Puulmann 6127ebccc1
time-on-page: Remove flag, CHANGELOG.md, time_on_page in APIv2, update old tests (#5277)
* Remove new_time_on_page feature flag

* Update tests to use new time on page

* Mark time-on-page as a public metric in APIv2

* CHANGELOG.md

* Validate time_on_page in APIv2

* Update typing

* Remove redudant arguments

* Update GA4 test

* Update stats_controller_test

* Remove assertion from csv_importer

* Add nil case to new time on page tests
2025-04-08 07:28:03 +00:00
Karl-Aksel Puulmann 0fcbcc3a8c
time-on-page: csv import/export support, preparation for release (#5274)
* CSV import/export support for time-on-page

Note only the new time-on-page metric is exported this way

* visibility check for graphing of time_on_page

* FE no longer receives/sends legacy_time_on_page_cutoff

* Remove current_user from exports

* Remove legacy_time_on_page_cutoff from query.include, make behavior work off of site.legacy_time_on_page_cutoff explicitly

* Remove dead function

* More current_user_id removals
2025-04-08 06:25:11 +00:00
Karl-Aksel Puulmann f330182a68
Show year (if multi-year graph) in graph tooltips (#5279)
The graph ticks already had this feature, but this was missing from
tooltips. Hope this sparks some joy.

Basecamp ref: https://3.basecamp.com/5308029/buckets/36789884/card_tables/cards/7630914606
2025-04-07 06:30:49 +00:00
Artur Pata 5db306126a
Update eslint and use eslint flat config (#5260)
* Update eslint and use eslint flat config

* Ignore unresolved for CI with comment
2025-04-01 11:14:36 +00:00
Karl-Aksel Puulmann cbffaa2054
time-on-page: Dashboard tweaks (#5217)
* Make column width of time-on-page wider

This will accomodate for the warnings

* Update warning messsage

* Breakdown table: Show space between * and warning in tooltip
2025-03-31 08:12:49 +00:00
RobertJoonas 1b4aefb7d2
Stop counting today in `7d` and `30d` periods + add `28d` and `90d` (#5240)
* change 7d and 30d periods in API v2

* change 7d and 30d periods in legacy API

* add 28d and 90d into the dashboard

* add tests

* add 28d and 90d to public API v2

* changelog

* npm run generate-types

* typo

* fix NPM test

* fix interval_test

* add P shortcut for last month

* hide last 30d from datepicker but keep keybind functional

* fix keybind hints

* Timex to Date + helpful comment

* prettier format

* adjust comment

* mention 30d -> 28d in changelog as well

* make period hidden param new default
2025-03-27 09:49:56 +00:00
Artur Pata bcc7347864
Make 'Remove filter' / 'Clear all filters' buttons less threatening & other tweaks (#5236)
* Make 'Remove filter' / 'Clear all filters' buttons less threatening

* Refactor see more menu actions, indicate more filter count

* Fix issue with keybind hint, remove extra x-space

* Remove filter to indigo

* Show additional filter count with + sign, add darker shadow
2025-03-26 10:18:21 +00:00
RobertJoonas c7bf54325e
Fix visitors.csv vs main graph discrepancy (#5230)
* fix typo to stop logging error in test output

* add time:minute interval to internal api schema

* always get visitors and visits from sessions table when time:minute dimension used

* query-api generate types

* changelog update
2025-03-25 16:18:48 +00:00
Artur Pata ce1df315d3
Remove format pragma, run prettier on /assets (#5237) 2025-03-25 10:16:54 +00:00
Artur Pata f698bbbf57
Clean up Saved Segments feature flags (#5228)
* Clean up Saved Segments feature flags

* Update feature name in Growth tier
2025-03-25 08:06:24 +00:00