mirror of
https://github.com/plausible/analytics.git
synced 2024-12-24 18:12:44 +03:00
672d682e95
* disable event metric with include_imported in every case * add missing test for metric validation * refactor metric validation functions * implement conversion_rate metric validation * move calculate_cr function into Stats.Util * Refactor: Move aggregate CR logic into Stats.aggregate * define atoms to exist * Ensure that CR does not depend on visitors being queried If 'visitors' are already queried, we'll use that value. Otherwise we'll need to make another query to fetch it. * confirm Stats API aggregate supports CR (tests only) * small refactor This is the only 'event_property' left after pattern matching on all others in the function clauses defined above. * Make it possible to optionally query conversion_rate ...in breakdown queries (excluding goal and custom prop breakdown) * A little refactor asking for revenue metrics 1. The `@revenue_metrics` module attribute is an empty list on full build anyway 2. We don't need to query for revenue metrics if there are no revenue goals returned in the given query (even if revenue goals exist in site.goals) 3. Revenue metrics are already dropped in prop breakdown without a goal filter via (get_revenue_tracking_currency/3) * Make it possible to optionally query conversion_rate (continuation) ... also from a custom prop and goal breakdown * Frontend adjustments to the Locations report * Display conversion rate in Regions and Cities (ListReport view) * Display total conversions, conversions (visitors), and CR in the "Details" modals of Countries, Regions, and Cities * Move the percentage into a separate column in the Countries details table * confirm Stats API breakdown supports conversion_rate (tests only) * small refactor: extract maybe_add_time_on_page function * Make it possible to query cr alone ... (without the visitors metric). Already supported in aggregate, this commit only implements it for the breakdown API. * Reuse Stats.Util helper functions from b02db88 for aggregate API We can follow the same logic as with breakdown for manually adding `visitors` into the metrics list and taking it out of the response later on. That way we don't have to make another query, e.g. in a case where only pageviews and conversion rate is queried. Also keeps things consistent. * changelog update * fix test after resolving merge conflict * Use explicit string->atom mapping instead of casting * alias Util module instead of importing it * use Enum.empty instead of Enum.any * improve readability * rename special_metrics to computed_metrics and explain with a comment * rename visitors_without_event_filters to total_visitors * keep a single function for removing unwanted metrics --------- Co-authored-by: Adrian Gruntkowski <adrian.gruntkowski@gmail.com> |
||
---|---|---|
.. | ||
components/billing | ||
controllers | ||
live | ||
plugins/api | ||
plugs | ||
views | ||
captcha_test.exs | ||
email_test.exs |