@mattab opened this Issue on April 8th 2013 Member

Row Evolution is an awesome feature of Piwik. This ticket is about adding support for Goals and Ecommerce reporting within Row evolution.

Rationale

Goals are a key report that users will want to know about historically. There is huge value in reporting metrics of "Goal Revenue, Ecommerce revenue" and then per Goal metrics: "Goal %s revenue", "%s conversions", conversation rate for 1 or all goals, over time, for any given report with Goal metrics.

Use cases

  • see the evolution of "Conversion rates" for specific keyword or set of websites and for a specific goal (currently it's not possible!).
  • see the revenue per custom dimension over time,
  • compare the ecommerce revenue for the top 4 search keywords or entry Pages over time

Specs

  • show the Goal metrics in Row Evolution report somehow at all times (along with standard visits metrics). Row evolution UI has to somehow let people view all metrics.
  • note: we can't display by default all goal metrics in the row evolution report: for example if there are 5 goals, that's already 10+ metrics. Instead we display by default the Actions metrics like in standard Row evolution + we display (Revenue + Conversions + Conversion rate) for this goal that was being viewed. (or for "All goals" if viewing Goals>Overview).
  • Row evolution metric picker is improved and user can somehow easily select additional metrics to list as a sparkline w/ text and plot in the evolution graph. Ideally the metrics are grouped/collapsed by Goal so the list is not overwhelming (since we have 3 metrics per goal).
@mattab commented on March 3rd 2019 Member

It's quite limiting not to be able to view conversion metrics in Row Evolution. For example, it would be very valuable to see "Conversion rate" and "conversions" over time, for a particular Campaign name, for a particular goal. Currently, the row evolution popover doesn't let us see any of the goal metrics:
cloud trial

@tsteur commented on July 22nd 2021 Member

As the issue is not quite clear. What's wanted here is when viewing a goal eg https://demo.matomo.cloud/index.php?module=CoreHome&action=index&idSite=1&period=day&date=yesterday#?idSite=1&period=day&date=yesterday&segment=&category=Goals_Goals&subcategory=6 ,

and in the "by dimension" view click on "row evolution"
image

then it is showing different metrics compared to the report in the table
image

@geekdenz commented on September 20th 2021 Contributor

It is showing visits and correctly.

Does this mean we want to show the Evolution of 'New Resume Conversions', 'New Resume Conversion Rate', 'New Resume Revenue'..., the data in the table, instead of 'Unique visitors', 'Actions' etc in the graph?

@tsteur commented on September 20th 2021 Member

Yes, that's my understanding.

Maybe @mattab can confirm too but I'm pretty sure that's what we're after 👍

@geekdenz commented on September 21st 2021 Contributor

I could not find how to do this quickly with only existing code.

Should we

  1. create an API hook/endpoint in the Goals API for this that becomes the apiMethod=Goals.someMethod and pass that in a URL so that e.g. this:

/index.php?date=2021-09-19&apiMethod=Referrers.getReferrerType&label=%40Search%2520Engines&disableLink=1&module=CoreHome&action=getRowEvolutionPopover&idSite=1&period=year&colors=...

becomes

/index.php?date=2021-09-19&apiMethod=Goals.someMethod&label=%40Search%2520Engines&disableLink=1&module=Goals&action=getRowEvolutionPopover&idSite=1&period=year&colors=...

and then change the call in the JS on the client side to fetch this URL instead.

In the API call we could return the metrics to the popover render call and reuse quite a bit of code.

  1. Alternatively, we could maybe add the metrics to the API call that already exists.

I feel the first approach could be more flexible also for other plugins or core. But this might also be more work.

  1. I wonder also, if APIs should be preferred that return JSON and the client side should fetch or already have a template in AngularJS or later Vue and populate that instead. That way the template could be cached and the API call would be cleaner and smaller too.
@tsteur commented on September 21st 2021 Member

I haven't looked in detail. But I think what you first will want to do is add the idGoal to the row evolution request which is currently not there. Without this you cannot possible show the metrics for the right goal I'm assuming.

image

When that idGoal is present then you will probably want to change which columns to display in the row evolution. To make this work you will want to check what the goals visualisation is doing probably https://github.com/matomo-org/matomo/blob/4.5.0-b2/plugins/Goals/Visualizations/Goals.php

I've only had a look for 5 minutes so I'm not too much into this topic but that's how I would likely approach it.

Powered by GitHub Issue Mirror