Rules are perhaps the most powerful Ion feature that you can use on Pages, Links, Images and Forms to create highly customized experiences involving logic.
Advanced Rules can be used to create hyper-targeted experiences. Based on a Condition, or combination of Conditions, Ion can perform a specific Action or set of Actions. Any number and combination of 36 Conditions and 36 Actions can be configured for Rules:
Page Rules are triggered as the page containing them loads, so they are usually used to calculate the respondent's score after taking a Quiz or Assessment, for example (in this case, the Page Rules are normally placed in the results page of the experience). Submit Button Rules are triggered as the respondent submits a filled Form by clicking the button, and these Rules are usually used to run an Integration with a CRM or to send an email notification, for example (note that the Submit Button might require setting Behaviors and Actions, besides Rules). Very often the Rules demand "No Conditions Required".
- No conditions required – trigger an advanced rule for all respondents who view this page or take a given action.
- Browser language – checks language a given respondent’s browser uses to view the page.
- Browser region – checks the region a respondent’s browser is in.
- Converted on this creative – checks respondent’s ion cookie to see if they have converted within this creative experience at any point in time.
- Converted previously in this campaign – checks respondent’s cookie to see if they have converted on any creative within the campaign they are viewing.
- Converted previously in any campaign – checks respondent’s cookie to see if they have previously converted in any creative within your console.
- Day of week – set up a rule that is based on the day of the week respondent’s view your page.
- Domain name – create a rule based on the domain of the traffic source URL used to view the creative.
- First time at this point – used to set up a rule based on the condition that respondents have not viewed this page before.
- Form successfully submitted - checks to ensure a freestyle form has been submitted before a given action can be taken.
- Form not successfully submitted - checks to see if a freestyle form was not submitted before a given action can be taken.
- Geolocated country (99% accuracy) – checks respondent’s IP address to see if they are coming from a specific country that you define.
- Geolocated region (75% accuracy) – checks respondent’s IP address to see if they are coming from a specific region that you define.
- Geolocated city (70% accuracy) – checks respondent’s IP address to see if they are coming from a specific city that you define.
- Geolocated postal code (60% accuracy) – checks respondent’s IP address to see if they are coming from a specific postal code that you define.
- Geolocated domain (75% accuracy) – checks the respondent’s IP address to see the domain of the Internet Service Provider they are using to view your page.
- Grade – create a rule based on a grade that you have assigned to certain respondents previously.
- Lookup table data - checks a lookup table (aka data source) to see if a value is present for a certain lookup key.
- Lookup table numeric data - checks a lookup table to see if a numeric value is present for a certain lookup key.
- Number of actions in creative – create an advanced rule for respondents who have taken a certain number of actions (i.e. clicking a link, submitting a form, etc.) that you define.
- Number of source clicks - condition that uses the number of clicks throughout the traffic source in order to trigger an action.
- Number of user responses – set up an advanced rule based on a specific number of visits to any traffic source in your console as defined within the available text box.
- Number of visits – create a rule based on the number of a times a given respondent has visited your creative.
- Please note: Since this is cookie-based information, the same user may be counted more than once if they clear their cookies or use different browsers or devices to re-enter the page. To limit the experience after a certain number of visits, the use of Lookup Tables may be more effective.
- Query String Variable – define a query string variable and value that will trigger an action.
- Referrer URL – define a URL from which a respondent is sent to your landing page to trigger an action.
- Respondent Cookie - Reads data from a cookie that is passed into the page.
- Respondent data – checks that a specific data field has a certain value saved to it to trigger an action.
- Respondent numeric data – checks that a specific data field has a numeric value saved to it to trigger an action.
- Respondent tag(s) – checks for a specific tag (or several specific tags) to trigger an advanced action.
- Respondent first primary tag – checks that a given respondent picked up a certain tag first within this landing experience.
- Respondent second primary tag – checks that a given respondent picked up a certain tag second within this landing experience.
- Respondent integration successfully run – set up an advanced rule that makes sure a given respondent’s data successfully exported first.
- Respondent integration not successfully run – set up an advanced rule for respondent’s who did not have their data successfully export.
- Server scriptlet result – set up an advanced rule to run a server scriptlet and check for a specific value to be returned.
- Time of day – set up an advanced rule based on the time of day a given respondent views this page or takes this action.
- Traffic source – set up an advanced rule based on which traffic source a given respondent used to view your landing experience.
- User agent string – checks the respondent’s user agent string for a specific value (or values) to trigger an advanced action.
- Assign tag – assign respondents who meet a certain condition a tag either from your tag library or a new one that you create within the available text box.
- Delete respondent data – delete data that was collected to a specific data field that you define within the available text box.
- Delete all sensitive data now – delete any data from the console that was collected into a data field that was set as a “sensitive” data field.
- Get DemandBase profile – if a DemandBase integration is set up within the external services page in your console, you can import a given respondent’s DemandBase profile data to segment your audience by using this action.
- Go to next page – takes respondents to another page within the landing experience.
- Go to external URL – takes respondents to a URL that you define within the available text box.
- Go to traffic source – take respondents to another traffic source within the campaign the creative they are viewing was built in.
- Go to download file – triggers a download of a file from your fulfillment library.
- Grade as – assigns a specific grade or allows you to increase/decrease that respondent’s grade.
- Populate respondent with user data - pull data saved by the visitor in previous visits to the current respondent record.
- Mark as converted – any respondent who take a specific action or views a certain page is marked as converted.
- Mark to re-run all integrations – allows data collected by that respondent to be exported more than once through all integrations set up in a given experience.
- Mark to re-run integration - allows data collected by that respondent to be exported more than once through a specific integration that is selected as part of this action.
- Notify via email – sends the email address added to the available text box an email alert (with all collected data) that a respondent has taken a certain action.
- Read from lookup table - Checks a specific lookup table key to save its corresponding value into a certain data field.
- Run integration – export respondent data immediately to a specific export.
- Run integration in background – export data immediately to a specific export and take respondents to the next page without waiting for a response from the external web service you are exporting to.
- Run server scriptlet – runs a server scriptlet that has been created when respondents view a certain page or take a certain action.
- Run server scriptlet in background – runs a server scriptlet that has been created in the background immediately so the page can load without waiting for the scriptlet to execute.
- Save data – save a certain value to a specific data field.
- Save calculated data – Save a numeric value to a specific data field. This numeric value can be set with a formula defined within this action.
- Save formatted numeric data - Control the format of a numeric value that was saved to a given data field.
- Save data from query string – saves a specific value to a certain query string variable.
- Save data from server scriptlet – saves a value that was generated by a server scriptlet that has run in a previous rule.
- Save data without substitution - saves data with two @ signs without causing substitution.
- Save data into lookup table - Saves respondent data into a specific lookup table.
- Save calculated data into lookup table - Saves numeric value into a specific lookup table. This numeric value can be set with a formula defined within this action.
- Save data from JSON property - Treats the value of a given data field as JSON and extracts a certain value from that JSON property and saves it to another ion data field.
- Save data into JSON property - Saves a fixed value or one taken dynamically from a data field into a JSON property.
- Stop processing rules – used in situations where you do not want to run advanced rules that were created below this one.
- Send email to respondent – used to send an email template to respondents have they have filled out a form.
- Substitute content element – substitute text or images on your page based on certain conditions being met.
- Substitute content from user – substitutes text with content passed in by the user either on the query string or saved from a form submission.
- Substitute form – changes the form that is presented to a given respondent.
- Substitute master page – changes the layout of the page a given respondent is viewing.
- Substitute theme (this page) – changes the theme of the specific page a given respondent is viewing.
- Substitute theme (persist) – changes the theme of this page and every page that follows within the landing experience.
You can add an advanced rule at the page level by clicking on the "rules" button found in the Page tab of your creative studio. You can also add advanced rules to clickable elements on your page. Once the destination of the click is set, the green "+Advanced Rules" button within the Content tab of your creative studio.
This new update allows you to duplicate Rules as you create them, making this process a lot easier and quicker! By clicking the "+Duplicate" button underneath each Rule, you’ll only need to edit the variables of the new one, it’s no longer necessary to start a new Rule from scratch if there already exists a similar one in that same Creative.
If you have any questions, please reach out to us by emailing email@example.com 😊