Install the Content Targeting integration
Install Content Targeting from Azion Marketplace and run it on an application to assign each user a weighted value in a cookie and a header.
Content Targeting sets a cookie and a header on each request, with a value chosen from a weighted list. Use it to segment content by application context, business rule, or a scenario you define, with its own variants and distribution percentages. It is one of the Marketplace integrations that run on an application.
The function runs on Azion’s distributed infrastructure instead of at your origin. A value can select its own cache key, and each event can be recorded through Data Stream. Four objects must exist before a request receives a value: the installed function, an application with the Functions module turned on, a function instance that holds the arguments, and a Rules Engine rule with the Run Function behavior.
Prerequisites
- An Azion account. To sign in, refer to How to access Azion Console.
- An application served by a workload. To create one, refer to Applications quickstart.
- Turning on a product or a module can generate usage costs. For more information, refer to Pricing.
Install the integration
The install adds the Content Targeting function to your account. To install it from Azion Console:
Access Azion Console > Marketplace.
Enter Content Targeting in the Search on Marketplace field, then select the integration’s card. Browsing the cards and the categories reaches the same page.
The card shows Successfully installed! and Latest version installed!. The function is then listed as Content Targeting [Global] in the Function list of the Create Instance drawer.
Turn on the Functions module
An application runs an installed function only when its Functions module is on. To turn on the module:
Access Azion Console > Applications > your application.
In the Main Settings tab, go to the Modules section.
Azion Console confirms that the application was updated.
Create the function instance
A function instance holds the arguments the Content Targeting function reads for one application. To create the instance in your application:
In Applications, select your application, then select the Functions Instances tab.
An application with no instance yet offers the same action as Function Instance. The Create Instance drawer opens.
In Name, enter a unique name that identifies the instance. For example: content-targeting-home.
In Function, select Content Targeting [Global]. The Arguments editor fills with the default arguments of the integration.
In Arguments, replace the default values with the values of your scenario. Each key is described in the table below.
The instance appears in the Functions Instances tab with the name you entered.
Arguments
The arguments are one JSON object. This example sets two values, A and B, and gives A its own cache key:
| Key | Data format | Required | Description |
|---|---|---|---|
cookie_name | String | Yes | The cookie that stores the chosen value |
header_name | String | Yes | The header that stores the chosen value |
domain | String | Yes | The domain the cookie is set for |
max_age | Integer | No | How long the cookie value is valid, in seconds |
expires | String | No | The legacy way to set how long the cookie is stored. Enter a complete date |
path | String | Yes | The path where the cookie is valid |
values | Object | Yes. The list must have at least one entry | Each value the function can choose |
Neither max_age nor expires is required, but set at least one of them. Without both, the cookie is not stored. The two keys do not replace one another: expires is a fallback for older browsers that do not support the max_age directive.
Each entry in values takes these keys:
value, required: the value set in the cookie and the header when this entry is chosen.weight, required: the odds of this entry being chosen.cache_key, optional: a custom cache key for the request when this entry is chosen.
Create the rule
The instance runs only when a Rules Engine rule calls it. The rule below matches every request. To create the rule:
In Applications, select your application, then select the Rules Engine tab.
In Name, enter a name for the rule. For example: Run Content Targeting on every request.
In the Phase section, select Request Phase.
In the Criteria section, keep the ${uri} variable and the starts with operator, then enter / as the argument.
In the Behaviors section, select Run Function, then select the instance you created by its name.
The rule appears in the Rules Engine tab, under the request phase, and runs the Content Targeting instance on every request.
For every criterion and behavior a rule accepts, refer to Rules Engine.