Extension:Campaigns

From MediaWiki.org
Jump to: navigation, search
MediaWiki extensions manual - list
Crystal Clear action run.png
Campaigns

Release status: beta

Implementation User activity
Description Allows to track user account creations related to campaigns
Author(s) (S Page (WMF)talk)
MediaWiki 1.22+
PHP 5.3+
License GPL v2 or later
Download
Hooks used
UserCreateForm

AddNewAccount

Translate the Campaigns extension if possible

Check usage and version matrix; code metrics
Bugs: list open list all report

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

How it works[edit | edit source]

When a user follows a URL to the "Create account" form with ?campaign=foo in it, Extension:Campaigns stores the campaign identifier in a session cookie (if the user is not logged-in already). If and when the user successfully creates an account during their session, 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 | edit source]

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 Bugzilla.

Further reading[edit | edit source]

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.

Installation[edit | edit source]

  • Download and extract the files in a directory called Campaigns in your extensions/ folder. If you're a developer and this extension is in a Git repository, then instead you should clone the repository.
  • Add the following code at the bottom of your LocalSettings.php:
require_once( "$IP/extensions/Campaigns/Campaigns.php" );

Dependencies[edit | edit source]