analytics/test
Karl-Aksel Puulmann 7dd12d1dd6
APIv2: Replace breakdown module with QueryBuilder (#4283)
* WIP: Breakdown using QueryBuilder

* Revert "Remove problematic test"

This reverts commit b442bb5d1f.

* Get more breakdown tests passing

* Preload goals, sort when dealing with time_on_page

* Handle conversion_rate in breakdowns

* Simplify ordering by using selected_as consistently for dimensions

* Get breakdown tests passing

* Strings to atoms in keys for StatsController.transform_keys calls to work

* Handle revenue metrics removal

* Add test for nil-removal case

* Include percentage metric

* Fix and test with imported locations

* Fixup time-on-page

* Fix country/region automatic filters

* Handle multiple imports (os/browser version) in importsv2

* Filter goals

* Default to ordering by page as well

* Calculate conversion rate on sessions if needed

* Order by event dimensions - handles event:page special case

* Update tests

* Update more tests, handle goal=0 case in imports

* Handle event:goal breakdowns correctly with filters

* Revenue to money

* Improved table deciding

* Also update event:page filters on event:page breakdown

* bounce_rate to 0

Previous behavior relied on two queries being made - new query leads to 0 naturally

* Update pagination test

* dont count non-pageviews as path goal completions

* Make revenue logic breakdown-specific

Its hard to fit into the new schema and likely needs a rethink for apiv2

* Retain previous behavior for TimeSeries module

* Get GA4 test passing

Most failures are related to ordering, pageviews shouldnt be read off of sessions

* Clean up old methods

* Simplify imported.ex

* Dont crash on garbage filters

* Reflect ordering-related change in test

* Fix test data

* Update table_decider

* Re-simplify get_revenue_tracking_currency

* Revert revenue changes

* Use Query.set

* Remove a TODO

* csv importer: no pageviews

Pageviews were incorrectly fetched from sessions table before, causing issues

* csv importer tweaking

* Remove use Plausible

* to_existing_atom
2024-07-01 09:03:33 +03:00
..
e2e Integrate ingestion monitoring data into instatus (#3515) 2023-11-13 15:11:59 +01:00
load Fix script path for k6 load test (#2068) 2022-07-29 09:00:50 -03:00
plausible APIv2: Replace breakdown module with QueryBuilder (#4283) 2024-07-01 09:03:33 +03:00
plausible_web APIv2: Replace breakdown module with QueryBuilder (#4283) 2024-07-01 09:03:33 +03:00
priv Replace Geolix with Locus (#2362) 2023-01-17 12:05:09 -03:00
support update runtime to elixir-1.17.1 and erlang-27.0 (#4255) 2024-06-24 13:22:33 +02:00
workers Always recommend a suitable plan on the choose-plan page (#4222) 2024-06-17 09:25:46 +03:00
test_helper.exs Snippet integration verification (#4106) 2024-05-23 15:00:50 +02:00