Release status: beta
|Description||Allows to track user account creations related to campaigns|
|Author(s)||(S Page (WMF)talk)|
|License||GNU General Public License 2.0 or later|
Translate the Campaigns extension if it is available at translatewiki.net
|Check usage and version matrix; code metrics|
|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.
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 place the file(s) in a directory called
- Add the following code at the bottom of your LocalSettings.php:
wfLoadExtension( 'Campaigns' );
- You must also install Extension:EventLogging (for the ServerSideAccountCreation events).
- Special:Version on your wiki to verify that the extension is successfully installed. Done - Navigate to
To users running MediaWiki 1.24 or earlier:
The instructions above describe the new way of installing extensions using
wfLoadExtension(), since MediaWiki 1.25. If you need to install this extension in earlier versions, instead of
wfLoadExtension( 'Campaigns' );, you need to use:
(To run an extension on an earlier release, you may need to download the version of it tagged for that release from Special:ExtensionDistributor.)
Dependencies[edit | edit source]
|This extension is being used on one or more Wikimedia projects. This probably means that the extension is stable and works well enough to be used by such high-traffic websites. Look for this extension's name in Wikimedia's CommonSettings.php and InitialiseSettings.php configuration files to see where it's installed. A full list of the extensions installed on a particular wiki can be seen on the wiki's Special:Version page.|