Hash Triggers

When you select Client-Side as the type of Campaign, a larger collection of Triggers is available to you. Among them is the Hash Trigger. A Hash Trigger allows you to match from the hash sign forward. When defining the Hash Trigger, enter a hash pattern to match. The Hash consists of anything from the first # to the end of the URL. Single-page apps sometimes use the hash to simulate paths. For example, in the following URL:

http://www.mysite.com/#/products/shirts/01950

the hash is #/products/shirts/01950. When this Trigger is satisfied, SiteSpect applies the changes specified in the What to Change area.

Note: Hash Triggers are available only for Client-Side A/B Campaigns.

When to Change

Hash Triggers

When you select Hash as the type of Trigger, several options for entering the Hash are available:

  • Contains – The text that you are matching must contain what you enter here. The text can be anywhere within the Hash.
  • Does not contain – The text that you are matching must not contain what you enter here.
  • Starts with – The text that you are matching must begin with what you enter here. It must be at the beginning of the Hash.
  • Does not start with – The text that you are matching must not begin with what you enter here.
  • Ends with – The text that you are matching must end with what you enter here. It must be at the end of the Hash.
  • Does not end with – The text that you are matching must not end with what you enter here.
  • Exactly – The text that you are matching must be exactly what you enter here.
  • Does not match exactly – The text that you are matching must not be exactly what you enter here.
  • JS Regex – Describe the text you want to match using JavaScript Regex.

What to Change

Selector

Use the Selector field to enter the name of a CSS Selector. When a page component matches this Selector, SiteSpect applies the settings specified in the Changes field.

Note: Each linked Client-Side Factor must have a unique Selector.

Changes

The Changes field defines exactly what you want to use replace what the Selector specifies. There are several options:

  • Insert HTML – Replaces the HTML content of the selected component.
  • Set Attribute – Replaces the Attribute with the specified value if the Attribute exists. If the Attribute does not exist, this adds it. Enter the name of the Attribute on the left side of the field and the Value on the right side.
  • Set CSS – Replaces the CSS rule with the specified value if the rule exists. If the CSS rule does not exists, this adds it. Enter the rule on the left side of the field and the value on the right. Note that if there is an !important rule, this won't override it unless this rule is also !important.
  • Custom – Lets you provide JavaScript code to execute on each matching component. The first line and the last line of the field are not editable. Note that this function is run against each matching component. In addition, each time it's run, the current component it's working on can be accessed with the keyword this.