Skip to content


Add a Referer report listing all websites, search engines, campaigns in one unified report #1899

mattab opened this Issue · 9 comments

3 participants

Piwik Open Source Analytics member

Currently Piwik offers a search engine report, a websites report and a campaign report.

It would be useful to have a report that would merge all this data into a single Referrer. This will help compare traffic from each source, for example visualize the importance of website referers VS google, or VS any active marketing campaign.

Implementation: this report could be built in PHP only, merging existing datatables for each referer type. This wouldn't add much overhead to the archiving process.

Piwik Open Source Analytics member

This ticket is for adding the new "All Referrers" report aggregating all other referrers reports into one.

I moved the other idea "Improve the Referrers Overview report" to its own ticket and added specification and my thoughts. See #3619

Piwik Open Source Analytics member

1) Extending Referer type to load the subtable: I'm curious to see code & UI for this but could be a good thing!

2) this ticket is something different though. it's key to have all referrers listed alongside each other "merged" in the report.

Should be merged the following: Direct entries + Keyword entries (aggregating all search engines per keywrods + Websites domains (aggregating all sub URLs) + Campaigns names.

This report table rows are not expandable to subdatatable. (I think this would be non trivial and is not that important). So if users see "" bringing lots of Traffic overall he wont be able to click on to open the subtable to see which pages exactly, but he can go to Referers>Websites to have the subtables there.

Sample report

Direct entries 156
KeywordX via search 154
KeywordY via search 120 101
CampaignNameHere 98
KeywordZ 15 1
Piwik Open Source Analytics member
  • Data would be provided by a new API eg. Referers.getAll which would call getKeywords, getWebsites, getCampaigns, and getRefererType (for number of direct entries).
  • Note: when aggregating there is the trouble with "Others" row which is called "Others". When aggregating we wouldn't know if the "Others 556" refers to Other Keywords or Other Websites for exampe. Would be nice to append eg. "Others (Keywords)" when merging.
  • It should ideally work for simple + advanced data + goal data tables.

Any feedback?

Piwik Open Source Analytics member

(In [7830]) Fixes #1899, add report that merges all Referrer reports and modified Referrer overview report to support subtables for each referrer type.


  • modified VisualPHPUnit so Incomplete errors that come from missing expected files have 'Use Processed' link option.
  • fixed bug in VisualPHPUnit's 'Use Processed' link (a piwik-specific change).
  • Added ability to prepend/append HTML to labels in HTML datatable output by using html_label_prefix/html_label_suffix.
  • Fix bug in Piwik_DataTable_Array::mergeSubtables where keyName was not copied in new array.
Piwik Open Source Analytics member

In 1be181b: Refs #1899 adding metadata report for Mobile/Email reports

Piwik Open Source Analytics member

I notice Row Evolutoin is not working on the report. If it is easy to add support, let's do it, otherwise let's simply hide the Row Evolution icon for this report


In d482aea: Fixes #1899, disable row actions for Referrers.getAll, since efficiently setting subtables for DataTable_Array children is nontrivial.

Piwik Open Source Analytics member

@matt, tried to think of an easy way of adding support, but to do it cleanly it would require either refactoring DataTable_Array (getting rid of, actually), adding a new function that visits each DataTable in a DataTable_Array structure and passes the indexes to a callback, or moving metadata from DataTable_Array to DataTable and allowing callbacks to be used in place of DataTable_Filter class names.

The quick way to fix it would be to add two more private functions to Referrers_API which seemed like a bit much for one API method.

Piwik Open Source Analytics member

+1 for disabled support. Getting rid of DataTable_Array would be useful, but maybe we keep that one for later as it's non trivial.

@mattab mattab added this to the 1.12.x - Piwik 1.12.x milestone
@diosmosis diosmosis was assigned by mattab
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.