Extension:Campaigns
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 130th) |
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 yourextensions/
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]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. |