Extension:GrowthExperiments/Technical documentation/Campaigns/Creation of customized landing pages

The GrowthExperiments extension allows the creation of customized signup (Special:CreateAccount) pages for campaigns (organized editing events such as editathons). Campaign organizers can include a  query parameter in their URLs, and the campaign configuration defines how the signup experience should be modified. The user account created using such an URL parameter will be permanently associated with that campaign (by storing the campaign name in the  user preference), resulting in some permanent small changes in the behavior of Special:Homepage (or at least permanent until the configuration for that campaign is removed).

The campaign configuration is defined by the configuration variables  and , both of which can also be set via community configuration, as the   and   fileds of the wiki page   (or whatever page is specified by  ).

Unlike most other  settings, editing the campaign configuration via Special:EditGrowthConfig is not supported; the page needs to be edited manually. (The edit tab links to the special page but edit URLs work as usual.)

is the main campaign configuration, an associative array with one entry per campaign. The entry key is the campaign ID (in the source code also referred to as "campaign term"), which will be used internally for identifying the campaign in analytics. (Note this is NOT the same as the  URL parameter, which in the source code is referred to as "campaign name"; the campaign pattern is used to map between the two.) A campaign entry is itself an associative array, which can have the following values:

An associative array of topic ID => CirrusSearch query. This is experimental and presently not very useful as the existing CirrusSearch queries aren't very good for topic selection. It has been used with hand-crafted, one-off CirrusSearch keywords for some select campaigns.

Messages
The following system messages are used on the custom landing page:



The title and body can be hidden by setting them to.

When  is not set in , it defaults to  , which results in a generic welcome page focusing on GrowthExperiments features.

Classes
HTML classes which can be used for styling:
 * ,  - wrap the customizable part of the signup page
 * (on the bullet list)
 * (on the bullet list)
 * (on the bullet list)

URL parameters
There are a number of URL parameters that can be used to modify the signup experience. Most of these aren't technically related to campaigns but usually used for that purpose.

Examples
A very basic campaign configuration: