Introduction
Logic Rules (often referred to as "Form Logic"™) are simple or complex rules that control the display and processing of registration forms.Planners can use Logic Rules to create highly customized online registration forms based on the specific needs of their event registration process.
A logic rule always belongs to only one form, but a form may have many logic rules.
Videos: All Logic Rules videos Using Logic Rules to:- Assign Attendee Types (2:54)
- Display a Custom Question (3:06)
- Send Email to a Third Party (4:22)
- Hide the Additional Reg Button (4:32)
An Overview of Logic Rules
The basis of a Logic Rule is an action that will occur on a form IF a set of conditions is met.
The "condition" can be to "always apply", but it is usually at least one IF clause.
The IF clause can include one or more clauses joined by AND / OR conjunctions.
The action can be thought of as a THEN clause after the conditions. The THEN clause describes what happens after the conditions are met.
IF {the attendee type} {equals} {Exhibitor} THEN {Display Questions} {Exhibitor-only Questions}A Logic Rule can include many levels of conditional clauses. Conditional clauses can combine different condition types.
IF {email address} {does not end with} {"@certain.com"} AND {company} {contains} {"certain"} OR {position} {contains} {"certain"} THEN {Assign Attendee Type} {Certain Inc. Employee}An infinite variety of combinations can be used to create forms as complex as needed. The combinations support accurate collection of the event’s registration data online.
When an attendee modifies their information, Certain “undoes” any logic-based actions that resulted from the original answer. For example, if the registrant selects “Manufacturer” as their business type, and that answer results in a $30 registration fee, then changing business type to “Retail” removes the $30 fee. The “undo” action occurs on the verify/edit, payment, and confirmation pages of the registration form.
> Note: Logic Rules are created here, but a logic section must be included in the online form setup in order for the logic to be processed in the form.
List and Labels
List of Logic Rules
The Logic Rules set up for the current form are listed here.
This may be a multi-page list.
Click edit in the Actions column to view or modify a rule. Click copy in the Actions column to make an exact copy of a rule. Click Add New to add a new logic rule.
Clicking edit, copy, or Add New displays the Logic Rule Details page. The Logic Rule Details page includes the Conditions and Actions sections. The Conditions and Actions sections are described under List Rule Details below.
Labels for Form Sequence
Each logic rule must be assigned to a form Section on which it will be processed in the online form sequence.
The online form sequence is defined on Form > Setup.
A form may include up to 20 logic sections. Any number of rules may be processed on a single section.
Rather than use the default section labels of “Logic 1”, “Logic 2”, etc., you can define a custom Label and Description for each logic section. These values appear when adding logic sections to the form and setting their online sequence on Form > Setup.
For example, you could rename “Logic 1” to “Assign Attendee Type & Display Error”. This rename makes the purpose obvious. This purpose clarification removes any need to toggle back from Form Setup to this Logic Rules section to remember what action the rules in a Logic section are performing.
Logic Rule Details (Attendee Form)
Details and Conditions
List Rule Details
- Name – (Required.) A descriptive name for the rule.
The name should describe the condition and the action that will follow.
For example, “Display exhibitor questions to exhibitors (attendee type)”.
- Section – Select the section on the form on which the rule will be processed.
(Logic 1, Logic 2, etc.) A form may include up to 20 logic sections.
Any number of rules may be processed on a single section.
- Processing Order – The order in which the rule is processed displayed relative to other rules in the same Section.
(1, 2, 3, etc.)
Conditions
Choose one of the two radio buttons:
- Always apply – The specified action will always be applied.
No further "Conditions" detail is required.
Complete the details for the Actions.
- Apply ONLY if these conditions are met – The specified action will only be applied if the condition(s) you specify evaluate to "True".
The condition(s) begin with an IF.
You select a question/data field, a comparison operator, and an answer value.
Question / Data Field
Select a question or field from the list.
The list depends on the modules enabled for the event.
The list may include:
- Standard Profile Fields, such as Organization, Country, etc.
- Custom Profile Fields, as defined for your account by your administrator (in Account Settings > Registration > Profile Data)
- Standard Registration Fields, such as Reg Status, Attendee Type Code, etc.
- Registration Payment Fields, such as Registration Fee Code, Net Charges, etc.
- Custom Registration Fields, as set up for this event in Plan > Event Setup > Questions
- Custom Travel Fields, as set up for this event in Plan > Travel > Configure
- Other, such as Group, Promo Code, or Today
- Room Reservation Fields, such as Reg Hotel Room Data, etc.
- Agenda Item Quantity (for each Agenda Item)
- Agenda Item Status (for each Agenda Item)
- Travel fields, including Traveler Information Fields such as Frequent Flyer Number, and Trip information Fields such as Has Travel Reservations, etc.
- Qualification and Approval Fields, including Approval Status and Approval Status Details
- Custom Event Fields, as defined for your account by your administrator (in Account Settings > Management > Event Data)
- Appointment Fields, such as Rotation
- Sessions Instance Status if Variable: UCModule is not defined in the project. is enabled for the event): the possible statuses of the selected published session instance
If you select Display Questions as the inline action under Select Action, then the Question / Data Field list is restricted to:
- standard profile questions with set answers (see example above)
- custom questions
- the Agenda Item Quantity for each agenda item
- question headers
So, for example, you could set the rule to display questions about golf only if the attendee has selected a golf agenda item.
Comparison Operator
The operator compares the contents of the data field with the option entered into the answer field to the right.
A note exists regarding logic rules with identical conditions, including the operator.
Operators include: | Operator | Use for | |---|---| | = | Equals | | <> | Does not equal | | > | Greater than (numeric values only) | | < | Less than (numeric values only) | | >= | Greater than or equal to (numeric values only) | | <= | Less than or equal to (numeric values only) | | begins with | String of characters at the beginning of the value | | ends with | String of characters at the end of the value | | contains | String of characters that appears anywhere within the value | | does not begin with | String of characters that should not be found at the beginning of the value | | does not end with | String of characters that should not be found at the end of the value | | does not contain | String of characters that should not be found anywhere within the value | | is one of | A list of items against which the value will be evaluated. The value must be found in the list for the condition to be met. Each item must be separated by a comma from the next, with no intervening space, as in: value 1,value 2,value 3. Note: This operator is meant to be taken literally; the answer is one of the selected options—multiple answers will not work. (For instance, if you select "If question A is one of answers X, then...", and the attendee chooses X AND Y, the rule is evaluated as false, and the action is not triggered.) | | is not one of | A list of items against which the value will be evaluated. The value cannot be in the list for the condition to be met. Each item must be separated by a comma from the next, with no intervening space, as in: "value 1,value 2,value 3". | | is blank | No value has been entered | | is not blank | Any value has been entered |
Answer Value
In this unlabeled field to the right of the comparison operator, enter the value to be compared.
This field is not displayed if the operator is " is blank " or " is not bla nk ".
Conjunction
If you want more than one condition, select AND or OR in this unlabeled drop-down list after the Answer Value.
Another set of fields is displayed for you to select a question / data field, select an operator, and specify the answer value. You can then repeat this process as many times as necessary.
> Note: To combine AND and OR conjunctions in the same rule, use the ")AND(" and ")OR(" conjunctions. > For example: IF ( Workshop A = Registered OR Workshop B = Registered )AND( Include Conference Proceedings Booklet= Yes ) THEN...
Rules with Identical Conditions
> Warning: Do not include two logic rules with identical conditions (using the same operator) on the same page.
> Identical conditions would cancel each other out.
If the two rules were the same apart from the operator, then they would work as expected.
Example 1 (= conflict):Logic Rule 1A
- Display questions/agenda
- If attendee type = Attendee
Logic Rule 1B
- Assign Reg status
If attendee type = Attendee
Result: The two rules would cancel each other out if used on the same page (i.e. neither would be applied), because the conditions are identical ("If attendee type = Attendee").
Example 2 (= success):Logic Rule 2A
- Display questions/agenda
- If attendee type = Attendee
Logic Rule 2B
- Assign Reg status
- If attendee type Contains Attendee
Result: The two rules would work as expected if used on the same page, because the conditions are different; the operator is = in one, and Contains in the other.
Tip: Using a different operator is usually the simplest way around the restriction. Just be sure that two rules on the same page never include identical conditions, even when one or both of the conditions include AND/OR conjunctions.
Actions
Select Action.
Select the action to be applied if all the Conditions are met during the registration process.
Actions include:
Actions (table)
| Action | Use for |
|---|---|
| Inline Actions | |
| Display Questions | Use this action to "nest" questions, displaying questions based on the registrant's answers to earlier questions on the same page. The "questions" available for selection include question headers for display purposes. In most cases, the Conditions available when you have selected this action are restricted to selecting a Question / Data Field, and the ones available for selection are those that are enumerable; that is, their types must be Radio, Checkbox, Select, S elect Multiple, or numeric. Note: If your Question/Data Field is a Standard Profile field (such as Country) with a set of known answers, then the Answer value displays that list for you to select from. This enables you to display a particular custom question only to registrants from a particular country or list of countries. Best Practice Warning: Only use a Display Question action for any given question once on a page. If your logic includes such an action for the same question more than once on the same page, only the last potential occurrence will be displayed. For example: You have a data field where the value can be 1 or 2. You have two Display Questions actions which use that field in their conditions: a) If value = 1 then display Question 5. b) If value = 2 then Display Question 5 and Question 6. Result: Only the second action is processed. If value is 2 then Question 5 and Question 6 are displayed, but if value is 1 then neither question is displayed. Caution: If you use Agenda Item Quantity in a condition for this action, then that agenda must be configured on the Agenda Section to be selected via " Quantity Input Type ". The " Summary Group Input Type " option is not supported for Display Questions. The Operators available for the selected Question / Data Field are restricted to = and <>. Under ' Select Question(s) to Display ', you can select: Questions, including Registration Custom Questions Standard Profile Fields. The list of those available, and whether they're optional or required, is configured for your account by an administrator on Account Settings > Registration > Profile Data. Question Headers. |
| Display Agenda Sections | Use this action to conditionally display a particular section of agenda items to a select set of attendees. |
| Display Attendee Types | You may display a customized list of attendee types in the attendee type section by using this action. |
| Display Promo Code | If you are using the "Registration Groups As Promo Codes" sub-module, you may choose to display a customized list of promo codes (from those set up on Plan > Promo Codes), from which registrants can select. The promo codes displayed for the registrant on the form will be restricted to those that are for that registrant's attendee type, so the logic action needs to occur after the attendee type has been selected or assigned. |
| Display Groups | If you are using the "Registration Groups" sub-module, and allowing attendees to select their own group (from those set up on Plan > Groups), you may choose to display a customized list of groups from which they can select. The groups displayed on the form for the registrant will be restricted to those that are for that registrant's attendee type, so the logic action needs to occur after the attendee type has been selected or assigned. |
| Display Questions or Agenda Items | Use this action to conditionally display particular questions to the registrant. This is particularly useful if you wish to change the selections for specific attendee types but you want all attendee types to share the same form. |
| Display Custom HTML Sections | Use this action to display Custom HTML sections, which are useful for providing information to certain attendees. |
| Hide Actions | |
| Do Not Display Attendee Types | You may wish to hide the attendee type section for some registrants based on a condition, such as whether or not a particular passcode or promotional code was entered. |
| Assign Actions | |
| Assign Agenda Items | Use this option if you wish to automatically assign an agenda item such as a session breakout, meal, activity, or other option to a registrant based on some criteria, such as how a particular custom question is answered or which attendee type the registrant belongs to. Auto-Cancellations: Agenda items assigned via logic are automatically canceled before completion of the registration if the registrant makes a modification that means the logic rule that assigned the agenda item now evaluates as false. |
| Assign Attendee Type | Use this option if you wish to automatically assign an attendee type to a registrant based on some criteria, such as how the registrant has answered a particular custom question. |
| Set Custom Registration Properties | Use this action to assign Custom Registration Properties to an attendee. ("Custom Reg" properties are set up for the event on Plan > Configure > Options > Custom Registration Properties.) |
| Assign Approval Status | If you are using the Qualification and Approvals module, you can use this option to automatically set the final approval status of a registration based on some criteria (such as their answers to particular custom questions), without their having to go through the external review process.. |
| Assign Promo Code | If you are using the Registration Groups As Promo Codes sub-module, you can use this option to assign a promo code (from those set up on Plan > Promo Codes) to a registration. |
| Assign Group | If you are using the Registration Groups sub-module, you can use this option to assign a group (from those set up on Plan > Groups > Group List) to a registration. |
| Assign Question Response | Use this action to assign responses to custom questions. For example, set a value for a custom registration question depending on the registrant's answer to another question. |
| Assign Sessions | If you are using the Variable: UCModule is not defined in the project. module, you can use this action to assign sessions (from those set up on Manage > Speakers and Sessions > Sessions) to a registrant. You or more from a list of all published, scheduled session instances. Warning: Sessions are always published for specific attendee types. So if a logic rule tries to assign a session to an attendee of any other attendee type, the session will not be assigned. (The same principle applies to sessions in a form's Sessions section, which lists only the sessions published for the registrant's attendee type.) Therefore the attendee type must be assigned on the same or previous page of the form. Best Practice Note: Don't use logic to assign sessions that include inventory. If the session were full, it wouldn't be assigned, but the registrant wouldn't see a warning. Auto-Cancellations: Sessions assigned via logic are automatically canceled before completion of the registration if the registrant makes a modification that means the logic rule that assigned the session now evaluates as false. (Note: When a form is copied, this action is copied with it. But when an event is copied, this action is not copied with the form, because sessions may not be copied.) |
| Assign Reg Status | Use this option if you wish to assign a registration status to a registrant based on a condition. Note that only standard registration statuses can be selected, not custom ones. (So if your account has the Show Default Statuses check box cleared in Account Settings > Implementation > Security, then you cannot use this action. However, it is very rare for an account administrator to clear that setting.) |
| Other Actions | |
| Return Error Message | Displays an error message at the top of the current page and will continue to do so as long as the condition for the rule is true. Use this action to prevent a registrant from completing the registration process for some reason. |
| Hide Addtl Reg Add | Used to restrict the number of additional registrants. |
| Clear Questions or Agenda Items | Clear action is performed if certain conditions are met. The Clear action deletes data from a field and replaces it with its default value (typically zero). |
| Send Email to Third Party | In order to keep travel agents, tour operators, hotel reservation staff, and other third parties associated with an event updated, Certain can be set to automatically: Send an email to a selected third party if a condition is met. Send an email to a selected third party only when specific data fields in a registration form have been modified. You must select an email template from the drop-down list to the right of the Action menu. Since the logic rule can be set to send email to a third party when fields in the email template have been modified, you should include those fields in the email template. |
| Send Email to Registrant | Sends email to a registrant if the condition is met. You must select an email template from the drop-down list to the right of the Action menu. You select at least one of the three options: Send email to Registrant Email, and/or Send email to Assistant Email, and/or Send email to Additional Email. If you select "Send email to Registrant Email", two more options are added: CC Assistant Email CC Additional Email The email will be sent to the selected recipient(s) if those email addresses exist on the registrant's profile record. (Each one is checked/processed separately. So for example if the Registrant Email and Assistant Email are both selected, but only the Assistant Email field has a value on the registrant's record, then only one email is sent — to the Assistant Email address. (Similarly, if you select Registrant Email and either "Send email to Assistant Email" or "CC Assistant Email", but the registrant's email address is blank, then no CC copies are sent because there is no email of which to send copies.) Note 1: If you select both "Send email to Assistant Email" and "CC Assistant Email", then that address will receive two emails: one original to just them, plus a copy of the one sent to the registrant. Note 2: Since the logic rule will likely send email to additional registrants, and you may have selected the Assistant and/or Additional Email addresses, you should personalize the email template with appended data fields such as first name and last name. |