Extension:CentralNotice/Special:RecordImpression

From MediaWiki.org
Jump to: navigation, search

This is an explanation of the CentralNotice impression logging system.

Once CentralNotice is installed, you can configure $wgCentralBannerRecorder to point to your wiki's Special:RecordImpression page. This URL will be requested in the background (as a 0-byte .png having no effect), reporting back to the server about which banner was displayed, or why no banner was shown. This response includes the user's actual selection criteria.

If the configuration URL is set, RecordImpression will be called for every pageview whether or not banners are configured.

Data is passed in the GET query parameters, using the following keywords:

   for example, "http://meta.wikimedia.org/wiki/Special:RecordImpression?
       banner=B14_0910_other_y_enUS_tab&
       campaign=C14_enUS_tablet&
       result=show&
       country=US&
       uselang=en&
       project=wikipedia&
       db=enwiki&
       bucket=1&
       anonymous=true&
       device=ipad"

Outcome[edit]

banner
If a banner was selected for display, then this is its title.
campaign
Campaign title under which the banner was selected.
result
The outcome of banner selection and hiding logic. See "reason", if available, for more information.
show 
Confirmation that the banner was actually displayed to the user.
hide 
Nothing was shown.
Reasons the 'wait' code might hide a banner
reason
(Currently) optional data about why the banner was hidden. Additional hide reasons can be embedded in the hide cookie, under the "reason" key.
alterImpressionData 
Banner code elected to hide itself using the alterImpressionData callback, but did not provide a specific reason.
empty 
Either no campaigns were configured for the selection criteria, or
close 
The banner "X" close box was clicked.
donate 
The user has donated this year.
cookie 
A category hide cookie was in effect.
preload 
Mixin preload js cancelled the impression.
waitdate 
BannerShowHideCountDate.js banner code determined that the user's wait cookie includes a date we have not yet reached.
waitimps 
BannerShowHideCountDate.js is waiting for more hidden impressions until we display a banner.
waiterr 
An exception to force open fail in case of a programming logic mistake.

Criteria[edit]

The campaign and banner selection criteria that were used are echoed back in these fields.

country
Two-character ISO country code, given by an approximate geolocation of the user's IP address.
uselang
The user's interface language—not necessarily the same as the wiki's content language.

Other[edit]

banner_count
The number of fundraising banners the user has seen (including this one, if shown) as stored in the centralnotice_bannercount_fr12 cookie

TODO: document criteria on their own page.

The recorded GET data is then processed by a periodic job, and imported to the database in aggregate.