Extension:Campaigns

Not to be confused with Extension:CampaignEvents.
MediaWiki extensions manual
Campaigns
Release status: beta
Implementation User activity
Description Allows to track user account creations related to campaigns
Author(s) S Page (S Page (WMF)talk)
Latest version 0.2.0
Compatibility policy Snapshots releases along with MediaWiki. Master is not backward compatible.
MediaWiki 1.25+
PHP 5.4+
License GNU General Public License 2.0 or later
Download
Quarterly downloads 4 (Ranked 135th)
Public wikis using 863 (Ranked 274th)
Translate the Campaigns extension if it is available at translatewiki.net
Issues Open tasks · Report a bug

Via a simple URL parameter, the campaigns extension logs a campaign identifier in an account creation event, identifying the source of the account registration.

Installation

edit
  • Download and move the extracted Campaigns folder to your extensions/ directory.
    Developers and code contributors should install the extension from Git instead, using:cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/Campaigns
  • Add the following code at the bottom of your LocalSettings.php file:
    wfLoadExtension( 'Campaigns' );
    
  • You must also install Extension:EventLogging (for the ServerSideAccountCreation events).
  •   Done – Navigate to Special:Version on your wiki to verify that the extension is successfully installed.

How it works

edit

When a user follows a URL to the "Create account" form with ?campaign=foo and then successfully creates an account the campaign is logged, along with the userid and other data collected via Schema:ServerSideAccountCreation.

Any campaign identifier attached to an account creation URL will be logged, so choose wisely. If you reuse a campaign identifier or pick something too generic, this increases the chance you will not be able to ascertain which registrations were actually associated with your campaign. The only limit is that it cannot be longer than 40 characters. Never include personally-identifiable information in a campaign parameter.

The one hurdle left in this process is getting access to the data; while we are only associating campaign identifiers with data that is otherwise public, access is limited to those with stat1 analytics server credentials.

Use cases

edit

In order to frame our understanding of campaign tracking and who might use it, we've developed the following user stories.

  • "As a member of the fundraising team, I'm running banners after the annual fundraising campaign to raise awareness about the need for Wikipedia editors. In the banners, I'm inviting donors or readers to sign up if they're interested in helping out."
  • "As a member of the Editor Engagement group, I'm interested in know how many anonymous English Wikipedia editors end up creating an account by clicking on the invitation in the edit window."
  • "As Wikimedian, I am sending email invites to people interested in my WikiProject. I'd like to know how many end up registering, even if they fail to sign up for the WikiProject member list."

Our current thinking is that these and potentially many more use cases would be served by the current implementation of campaign tracking. Please speak up on the Talk page if you think this extension could be enhanced further, or file a request in Phabricator.

Further reading

edit

See the Engineering subpage for some background and notes on ongoing development. MediaWiki developers or users may also be familiar with Extension:CustomUserSignup, which previously performed much the same function, but also used campaign URL parameters for custom landing pages post-registration.

See Research:Account creation campaigns for a partial log of campaigns.


Dependencies

edit