Extension:Campaigns

Via a simple URL parameter, the campaigns extension logs a unique identifier associated with an account creation event. The purpose of a campaign is to differentiate the source of an account registration.

How it works
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.

Use cases
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 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."

Dependencies

 * Extension:EventLogging