New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Content Tracking, Banner tracking: track impressions, Clicks on any piece of content #4996
Comments
Tracking banner ads impressions was discussed in this forum post |
maybe there is a intersection with usage possibilities of event tracking? -> what should the user do: implement both for the same thing? (i think this would be the worst way) |
Ticket description has been updated with the latest version of the specs & requirements. Please comment if you have any feedback or idea! |
hmm maybe you could have a look again on this comment |
@mattab Don't think how far down a user scrolls is related to this issue. Such things need to be handled in a separate issue. @hpvd You would use content-tracking for instance when displaying ads on a website. An ad can be for instance an image / banner. Different ads might be displayed on one page depending on the visitors but can be also always the same or there can be none ads sometimes. On some pages the shown ads even change after a certain time or event such as a click. You want to know how often a specific ad was displayed and how often it was clicked. You can not really answer this question with events. The simple fact that a banner is shown on a page is not really an event I think. You'd probably end up having already like 10 events per page just for content-tracking. I haven't thought in detail about implementation yet but it will be probably a cross-link of content-tracking and event-tracking - indirectly maybe also goal tracking. Is it maybe a bit clearer? |
Maybe not MVP, but a good idea:
|
thanks for the explanations. It's getting a little clearer. My general idea was not to have that many different things to track only events (maybe of different types??) and sites and using for everything the same statistic processes/types of analyses.
|
… not shown on developer.piwik.org
…stalled. When replacing the initial link urls link tracking might not be installed yet but enabled (will be installed on load event). When a click is happening on a content block we still need to use linkTrackingInstalled since then the credirect/tracking request is actually happening and we need to know whether outlink/download will track it or whether we have to do it separately. Make sure to call enableLinkTracking before trackContentImpressions although there should be no huge difference as both will be delayed until ready/load event anyway
There is a bunch of things for V2: https://github.com/piwik/piwik/blob/master/misc/internal-docs/content-tracking.md#v2 Shall we create tickets for each one? Think that would be better to let them schedule easily |
…yet as they have to be returned in Live API which will be v2
…r but returns different order or so on travis and I cannot fix it
+1 to create an issue for each idea you think we should work on in next maybe we also create a master ticket "Content Tracking improvements"? |
Added some docs to JS tracker http://developer.piwik.org/api-reference/tracking-javascript#content-tracking, Tracking API http://developer.piwik.org/api-reference/tracking-api, a detailed guide http://developer.piwik.org/guides/content-tracking and a simple / short user guide (not published yet). Feel free to review @mattab |
I'm not a huge fan of master tickets. It's like adding TODOs in code or writing down parts that need to be refactored on a page in a wiki. They usually never get done and it is like putting something into a trash. Small, specific issues can be easier prioritized and worked on, discussions are always only about one issue and so on. I'd rather use the same label for all issues to get a summary as an "Epic" feature is missing in Github Issues. |
I'd say the only missing thing is to make the UI test show any data but I don't get it to work. It looks like the fixture is executed and the entries seem to be in the log_link_visit_action table but for some reason it seems not to archive any data when generating the OmniFixture.sql. @diosmosis can you see any problem with this fixture? https://github.com/piwik/piwik/blob/master/plugins/Contents/tests/Fixtures/TwoVisitsWithContents.php Do I maybe have to use the LocalTracker or so? |
Hey! Just tested content interaction and it looks very promising! I've experienced 'click' request cancellation problem (see attachement). However it looks more like workaround but not a solution for the problem. Is there any way to wait until track request is sent? |
@diosmosis maybe you can assist @tsteur and help him get some content tracking data into the UI tests fixture? this is the last item left before this ticket can be closed. Thx |
@diosmosis it does insert the content tracking fixture when building the omnifixture sql but for some reason it seems to not archive the data for content tracking and I don't understand why. Everything is looking good to me in It also shows a blank table in the screenshot test but should actually show some data. The system tests on the other side work with the same fixture |
…is used. Delay first content tracking request a bit to make kinda sure a possible previous pageview request is already executed. If there is a new visitor and there are 2 tracking requests at nearly same time (eg trackPageView and trackContentImpression) 2 visits will be created as both visitors are basically at the same time. This is only a workaround and it this problem might still occur. Also delay a link earlier in case an interaction is happening to make sure the browser waits for the interaction to be tracked.
@tsteur Sorry, missed this comment. Can you tell me where the UI tests for contents are (if any)? |
Beautiful & Epic Work on Content Tracking! To all users: enjoy Content Tracking and keep the feedback coming so we can make this feature even more useful in the future! |
(Updated: check this internal docs to see up to date specs & discussion)
We want to build a way in Piwik to determine the performance of the pieces of content on any page of the website or app.
Basic requirements
Note: we assume in the following requirements that a banner is a piece of content on the page - it can be either a whole section of the page (in a
<div>
), an image/banner ad, or just a text ad/link.Proposed solution
- Content name,
- Content image (for a banner) or a Content text (for text ad) - optional,
- Click URL, where the content links to - optional.
<div class="piwik-trackcontent" id="sample">
<div data-trackcontent id="sample">
- the Click URL can be a landing page or a product page. Help Piwik detect this Click URL by tagging your content links elements:
- the Content Image is what all visitors see before clicking on the content.
<img class="piwik-banner" src="{BANNER_IMAGE}">
- the Content Name must be memorable and distinguishable from others. Piwik will detect the content name by:
if data-name=" is not found in the data-trackclick element or any children, piwik will also read the title="" and alt="" attributes
- this can be used i.e. for carousel banner images on the page, so that the carousel script will trigger a method to track a banner when it's displayed.
<div data-trackcontent data-noautotrack id="sample">
<div class="piwik-trackcontent piwik-noautotrack" id="sample">
- the trackPageview() will send only impressions for banners that are tracked automatically
- These impressions are sent at once along with the page view and/or any other event.
- For a given banner on a given page, we should record the impression at most once (in case banner disappears and re-appears).
- if it's too complex to bundle as one request, then it's Okay to do two http requests when Content pieces are in the page.
- user can decide to manually setup the proper redirect URL via piwik.php?rec=1&idsite=1&clickurl={$URL_HERE}&....
- and/or maybe we can replace the href="" directly within the DOM so right click, middle click, shift click are also tracked
- and/or maybe we can hook on the click event on the banner/ad element (and all its children?), then fetch the URL, and redirect this URL via piwik.php.
- Reports performance data by Banner name: Impressions, Clicks, CTR
- Also reports the Overview with metrics value over all banners: Total banner impressions, Total banner clicks, Average CTR
- possibility to display the banner images in the report (via toggle option)
- the Banner report can be segmented by any custom segment
- historical data explorer and trends (row evolution)
- Get alerted whenever Banners are very successful or a failure, with monthly or weekly Custom Alerts.
- Reports can be scheduled by Email, download as PDF reports.... and in Piwik Mobile!
- assuming we use custom events, eg. trackEvent(category = "banner", action ="impression", name = "SHOP Lunch box img4", value = $ad_visibility)
Sample banner code
We need to add "data-trackcontent" attribute to identify the banner and "data-name" to identify the banner name:
Sample mockup
Docs & FAQ
The text was updated successfully, but these errors were encountered: