Certain Signal: Eloqua Native Integration Guide.
This document is a guide to using Certain Signal to integrate with Eloqua.
Certain Signal also integrates with other products. It integrates with Marketo and Salesforce via native integrations. It integrates with other products via Webhooks or Advanced Webhooks. Separate guides cover those integrations.
This product is not included with Certain Platform by default. Email help@certain.com if you’re interested after reading this document. Include your account name.
What is Signal? How does it work?
Certain Signal processes data from your events in real-time.
Certain Signal passes data from Certain Platform to your instance of Eloqua.
This real-time integration empowers sales and marketing teams to take intelligent, prompt action on the right event data.
Signal processes information at the account level. Signal processes information from the events in your account.
Event-level information comes from custom tags you attach to data such as Registration Statuses.
> Important: Signal processes outbound information. Signal processes information from Certain. Signal sends information to Eloqua.
Prerequisites
Data-Flow Considerations
- Do you capture data in registration questions that will be synced to Eloqua?
- If so, apply tags to those questions. See page 5.
- Do you have different data mappings based on registration status or attendee type?
- If so, apply tags to those items. See page 4.
- How many Eloqua campaigns?
- One campaign common to all events, or one campaign per event?
- If one campaign per event, you need an Event Question for the Campaign ID. See page 5.
Eloqua Credentials
To set up a Connection in Signal (see page 6), you must decide which authentication option to use.
The authentication options are OAuth2 or Basic Credentials.
The choice determines the information you require in advance.
OAuth2
Your Eloqua administrator needs to create an OAuth2 app in Eloqua.
They need to go to Settings > App Cloud Developer > Create New App.
They need to provide these details:
- Endpoint
- Client Id
- Client Secret
- Callback URL: https:///svcs/maintegration/oauth2Callback
Basic Credentials
This option uses an Eloqua user login.
The user login is Username and Password.
The user is likely to be one set up for integrations only. An example is (MyOrganization/Integration).
A regular user can also be used.
The user must have access in Eloqua to:
- Create Contacts
- Add Contacts to a List
- External Activities
Overview of Setup Steps
Steps on Certain Platform
| Step | See Page | |---|---| | 1. Add tags in the account | 3 | | 2. Apply those tags | 4 | | 3. Add Event Question for Campaign ID | 5 | | 4. Answer that question in events | 5 |
Steps in Certain Signal
| Step | See Page | |---|---| | 5. Add Connection | 6 | | 6. Configure a Flow | 8 |
Setting up Tags
What Are Tags?
Tags identify event-level data using labels you set at the account level.
You apply tags to generic items in events.
You apply tags especially to custom registration statuses and custom registration properties for use in Certain Signal.
Tags can be used for other purposes as well. This guide does not cover those purposes.
Example behavior:
- Your events may have several custom registration statuses in addition to the standard ones.
- You can apply the same Tags to more than one status.
- You can choose to give each status its own Tag.
When you set up a Flow in Certain Signal to send data to Eloqua when an attendee’s Registration Status changes, you specify tags applicable to those statuses. You specify tags, not the statuses themselves.
This approach lets the flow apply to any event in your account.
Setting Tags Up for an Account
1. As an Administrator, go to Account Settings > Management > Tags. 2. Enter a Name and a Label for the tag. 3. Select the Object(s) to which the tag can apply. For example, Registration Statuses and/or Custom Registration Properties. 4. Click Add. 5. Repeat as required for as many tags as you need. 6. Important: Add enough tags to apply to all of the following that you will use in flows. See page 10. 1. Registration Statuses 2. Custom Registration Properties 7. Also add enough tags to apply to all of the following that you will use in filters for flows. See pg 10. 1. Attendee Types 2. Events
Applying Tags in an Account
In each event from which you want information to flow through Certain Signal, apply tags to the relevant information.
The relevant information is Registration Statuses and Registration Custom Properties.
You can also tag Attendee Types and Events. You can filter registration records by attendee type or event. See Filters on page 10.
Default Registration Statuses
Default Registration Statuses apply to all events.
An Administrator applies the tags at the account level.
1. Go to Account Settings > Management > Registration Statuses. 2. Select one or more Tags for each status.
> Important: Even if you don’t use any standard registration statuses, the best practice is to set up tags for all of them. It is essential to tag at least the ‘New’ status. Certain uses “behind the scenes” processing for the ‘New’ status when first processing each registration.
If you use standard reg statuses, you must tag them all.
You tag them so you can use them in the Flows you configure in Signal. See page 8.
Applying Tags in an Event
Custom Registration Statuses
Custom Registration Statuses apply when Flows watch or activate for changes of Registration Status.
1. In each event, go to Plan > Event Setup > Custom Statuses. 2. Select at least one tag for each status.
Custom Registration Properties
Custom Registration Properties apply when Flows activate for Custom Reg Properties.
1. In each event, go to Plan > Configure. 2. Under Custom Registration Properties, select at least one tag for each custom reg property in the event.
Standard Registration Properties
Standard Registration Properties tags are set up automatically.
Standard Registration Properties have names identical to the properties themselves.
- Complete
- Badge Printed
- On To Do List
- Invoice Generated
- Test
You only see these tags in Signal.
You can activate Flows for these tags. See page 10.
There is nothing to edit on Certain Platform.
Attendee Types (Optional– for use with filters – see page 10.)
1. In each event, go to Plan > Event Setup > Attendee Types. 2. Select one or more Tags for each attendee type on which you may wish to filter registrations. 3. See Filters on page 10 for filtering context.
Events (Optional– for use with filters – see page 10.)
1. In each event you may wish to include in a filter. For example, filter to ensure only registrations for that event are passed to Eloqua. 2. Go to Plan > Event Setup > Details. 3. Select one or more Tags for the event.
Registration Questions (Optional– for use with mapping Certain fields to Eloqua fields – see page 11.)
1. In each event in which you use registration question to capture data from attendees, and wish to pass those answers and/or questions to Eloqua: 2. Go to Plan > Event Setup > Questions. 3. Select just one Tag for each question. 4. Selecting more could result in duplicate data in Eloqua.
Recording an Event’s Campaign Name
If any of your Flows in Signal include an action to ‘ Trigger Campaign’ or ‘Create/Update Contact ’, where the campaign is set per event rather than using the same campaign for all events, you need to set up an event question.
The event question records the Campaign Name for each event.
Steps in Certain Platform
1. As an Administrator in Certain Platform, go to Account Settings > Management > Event Data. 2. Add an Event Question, such as ‘Eloqua Campaign Name’.
Steps in each event
3. As an Event Planner or Administrator in Certain Platform, go to Plan > Event Setup > Custom Event Data. 4. Enter the Eloqua Campaign Name for that event in the custom question field.
Opening Certain Signal
When Signal is activated for your account, the Account Settings > Implementation menu includes an extra option.
The extra option is Signal Real-Time Data Integration.
Signal Real-Time Data Integration runs separately from Certain Platform.
Click Signal Real-Time Data Integration to open Certain Signal in a separate window.
Note: To return from Signal to Certain Platform at any time, click the provided return control.
Setting up a Connection
What are Connections?
A Connection in Certain Signal specifies how to connect to your instance of Eloqua.
The connected system is the Target application.
You can have multiple connections.
Example: you can have connections for Eloqua and another application. Other target applications are covered in separate guides.
Each Flow requires a Connection.
Multiple flows may use the same Connection.
You can set up a Connection before configuring your first Flow.
You can also set up a Connection while configuring a Flow.
This guide assumes you are setting up the Connection first.
Adding a Connection
As an Administrator, you may set up one or more Connections for your account.
You need to do this only once.
After you set up Connections, you can use them in the Flows you set up.
1. Go to Account Settings > Implementation > Signal Real-Time Data Integration. 2. Certain Signal opens in a separate window. 3. Click Connections in the left navigation panel. 4. Click Add A Connection on the Connection List page that opens. 5. Enter the details in the Connection Setup screen that opens.
Connection Setup fields:
- Target: Select Eloqua as the third-party app to connect to.
- Connection Name: Enter a name of your own choice. It could be just ‘Eloqua’ or ‘Eloqua Connection’.
- Service URL: Enter the beginning of the Eloqua URL to which you are redirected when you log in to Eloqua.
- The part starts with “https://”.
- The part ends with “eloqua.com”.
- Example: https://secure.p03.eloqua.com
- Authentication Type: Select the authentication type to be used.
- Basic Authentication
- OAuth2
- Basic Authentication
- This option uses an Eloqua username and password.
- If you select this option, complete the fields:
- User Name: An Eloqua user. It is likely to be one set up for integrations only, such as ‘MyOrganization/Integrationuser’. It could be a regular user.
- Password: The Eloqua password for that user.
- The user must have the minimum permissions described on page 1.
- OAuth2
- OAuth2 is the recommended best practice.
- OAuth2 uses an industry-standard secure method of authentication.
- If you select OAuth2, enter five fields:
- Grant Type: Select ‘Authorization Code’
- Client Id and Client Secret: These two strings are unique to the OAuth2 app your Eloqua administrator has set up.
- Access Token URL: Use the default value.
- Refresh Token URL: Use the default value.
- Scope: Use the default value if there is one.
- Test Connection URL: Use the default value.
- Force Update: Relevant only for ‘Add to List’ actions.
- If selected, and Eloqua already has a record for the Contact whose data is being sent, that Contact will be updated where any details in Certain differ.
- Example: their phone number.
6. Click Save & Test. 7. If the test is successful, click Close. 8. If the test is not successful, check that values in step 5 are all correct.
Setting Up Flows
What is a “Flow”?
A flow is a configuration to manage the flow of data from Certain to Eloqua.
You create Flows from the landing page in Signal.
You may configure several flows for an account.
Multiple flows might all use the same Connection.
You only need to configure a flow once at the account level.
When a flow is complete, it starts picking up data for each event in that account within about a minute.
The minute delay occurs because Signal runs independently from Certain Platform.
If you edit a flow, a slight delay occurs before that change takes effect in processing the registrations.
The Flow List
As an Administrator in Certain Platform, go to Account Settings > Implementation > Signal Real-Time Data Integration.
Certain Signal opens in a separate browser window.
The main screen in Signal is the Flow List.
The Flow List lists all flows.
The Status column shows whether a flow is completely set up.
The Active column shows whether a flow is running.
You can click the toggle button to change a flow from Active to Inactive, or vice versa.
Configuring a Flow
Click ADD A FLOW to start setting up a new flow.
A flow configuration consists of:
- Name
- ‘Live’ or ‘Test’ status. See immediately below.
- Source: What information the Flow will look for and what it will activate for in your events.
- Filters: Optional filters to narrow down that information.
- Destination: Where and how that information goes into Eloqua.
‘Live’ or ‘Test’
The Live toggle switch determines whether your Flow is Live or Test.
A Live Flow picks up all live registrations in live events.
A Live Flow ignores test registrations, even in live events.
A Test Flow picks up all test registrations.
A Test Flow includes all registrations in test events.
A Test Flow also includes any registrations marked as ‘Test’ in live events.
Best Practice: Set a new flow up as Test and test it before setting it to Live.Flow Data Source
You specify the Source of data for the flow.
Optionally, you apply Filters.
The Source of a Flow is what the Flow watches for in your data in Certain.
The Source also determines when it will activate based on that data.
Example behavior:
- The flow might watch for any change to a Registration Status.
- The flow activates if an attendee’s status has changed to a status tagged as ‘Registered’.
Available sources
You set a flow to watch for any one of the following:
- Registration Create Update: When a registration is created or updated.
- Registration Status Change: When a registration’s status changes.
- Session Registration Status Change: When a registration’s session registration status changes.
- Event Create Update: When an event is created or updated.
Note: You can always save an incomplete Flow and complete it later.
As soon as a Flow is complete, it starts picking up data after the usual minute’s delay.
Activate for …
Choose what the flow should activate for by selecting one or more tags in each appropriate object’s dropdown list.
The screenshot shows activation for tags applied to Registration Statuses and/or Registration Properties.
Other options can be added depending on what the Flow is watching for:
- If the Flow is watching for Registration Status Change, you must activate for Registration Statuses.
- If the Flow is watching for Session Registration Status Change, you must activate for Session Registration Statuses.
- If the Flow is watching for Event Create Update, you must activate for Event Statuses.
The tags available for selection are those set up for that object. See page 3.
Example tags for Registration Statuses include Registration Status tags:
- standard registration statuses at account level (see page 4)
- custom registration statuses at event level (see page 4)
Flow Filters
You can filter the data going into a flow.
You do this by selecting fields in these three filter types:
- Event fields
- Profile fields
- Attendee Type tags
The flow includes a registration only if the registration meets the rule(s) specified in the filter.
Event filter fields:
- standard event fields. Example: Event Code
- custom event fields
- event tags
Profile filter fields:
- standard profile fields. Example: Position
- custom profile fields
Attendee Type tags filter fields:
- tags that can be applied to Attendee Types
> Note: For custom fields, you can only select “enumerated” questions. Enumerated questions have pre-configured answers.
Enumerated questions are of types Select, Multi-select, Checkbox, or Radio.
Flow Destination
Select Eloqua from the integrations set up by Certain for your account.
Eloqua may be the only integration.
Setting up a Destination
1. Give the Destination a name of your choice.
2. Select the Connection to use.
- You can instead click New Connection to add a connection.
- The process matches the connection setup described on page 5.
3. Select the action for this connection from those listed as available:
- Add to List
- Create/Update Contact
- External Activity (available only if the Flow is activated for Session Registration Statuses)
- Form Post
The selected action determines other configuration options.
If the action is External Activity, the configuration shows two fields.
- External Asset Type
- External Activity Type
Values are automatically populated by Eloqua.
Mappings
The Available Mappings option is available for most actions.
A mapping specifies how each target field in Eloqua matches a source field in Certain.
Select a mapping from the drop-down list.
If no mappings are set up yet, or you need something other than an existing mapping, click New Mapping to add one.
New Mapping steps:
1. Give the mapping a name of your choice.
- Best Practice: For multiple mappings used for different flows, make mapping names self-explanatory.
- Example: ‘Contact Mapping’ and ‘Form Mapping’.
2. The left column lists Eloqua fields. These are the “target” fields.
- Under each target field is the default “source” field in Certain matching that target field.
- Example: target field ‘Company’ defaults to source field ‘Organization’.
- This means the value of the Organization field in Certain populates the Company field in Eloqua.
3. By default, only the First Name, Last Name, and Email fields are mandatory.
- Select the checkbox next to a target field to make it mandatory.
- If a required field is missing, the flow shows a validation error when it tries to update Eloqua.
- This issue is not normally fixable.
- The issue would not go into the Retry Queue.
4. Click the x after a source field label to delete that field.
- You can click to add a new source field.
> Note: You can concatenate multiple source fields for the same target field. > You can also type fixed text. > > Example: for target field ‘Title’, you could choose source fields ‘Position’ and ‘Organization’. > You can separate those fields by two spaces and “@”.
The Certain fields you can choose from as the source of data going into the target fields in Eloqua include:
- Profile Standard Fields
- Profile Custom Fields
- Registration Standard Fields
- Registration Custom Question Tags
- one field for the question
- one for its answer
- See page 5 about not using the same tag for more than one question.
- Registration Standard Properties
- Account Standard Fields (Account Code)
- Event Standard Fields. Example: Event Code and Event Name
- Event Custom Fields
- Flow Fields (Flow Name)
- Macros. Example: Current Date
5. In the second column, you can select a transformation option for each field.
- The default of no selection sends data to Eloqua unchanged.
- Transformation options:
- lower case
- Proper Case
- UPPER CASE
- Trim (removes extra spaces)
- You can select more than one transformation for a field.
- Example: change a value to Proper Case and trim it.
6. At the end of the list, you can Add Target Fields and select source fields for them.
- To delete a field from the mapping, click DELETE at the end of that row.
- After you select a mapping, two other buttons become enabled:
- Edit Mapping
- Preview Mapping
- A third button also becomes enabled:
- Refresh Target Fields
Refresh Target Fields use:
- Use Refresh Target Fields if you do not find a target field you expected in an existing mapping.
Technical note:
- Refresh Target Fields is likely needed for new fields added since a connection was created.
- Target fields are cached when a connection is tested.
- Refresh updates cached mappings.
Campaign ID
Campaign ID is required if the action is ‘Trigger Campaign’ or ‘Create/Update Contact’.
> Note: Campaign ID in Signal refers to the ‘Campaign Name’ in Eloqua.
There are two options:
- Select Campaign ID Based on Event Question
- If you have a unique campaign for each event, use a custom event question to specify the Campaign Name.
- Select that question here.
- Campaign ID
- To move all attendees to a single campaign, regardless of event, enter the campaign Name.
> Note: If you specify both an event question and an account-level Campaign ID, the event question-based campaign takes precedence.
Form
If the selected action is Form Post, complete the following:
- Select A Form
- Select the Eloqua form to which the data will be sent.
- Form URL
- Form URL is populated automatically based on the form selected.
- Mapping
- The target fields are pre-populated based on the form selected.
- Select the target fields and map them to the source (Certain) fields as described under Mappings.
Metrics Dashboard
To see statistics available in Signal, click Metrics in the left navigation panel when looking at flows.
The new navigation panel shows Metrics options depending on the flows and their targets.
The first Metrics option is Insights.
Other links can include Leads Created and Form Posts.
These other options work in the same way as Account Insights.
Account Insights
Select whether to see Live Flows or Test Flows.
Select the period for which you want to see data.
Examples include:
- last 15 minutes
- 1 hour
- 4 hours
- a number of days
The page includes three tabs:
- Summary
- Troubleshooting
- Activity Feed
Summary tab
The Summary tab is the default tab on the Insights page.
The figures shown depend on the flows and actions.
Some figures allow clicking the number to drill down further.
Example: click Unique Registrations to see the registrations processed by any flows in your selected time frame.
After drilling down, you can filter or search for records.
Example: filter on an Event Code to see registrations in that event.
Figures shown apply to the whole account.
Whole-account coverage includes all events and registrations.
For each figure, you can click the number to drill down to details.
Summary figures:
- Changes Processed
- The number of registrations processed.
- Changes Processed increments each time a registration is created or updated in Certain and then processed by a flow in Signal.
- This often includes the same registration more than once.
- Example: creating a registration and then updating it twice totals three “changes”.
- Unique Registrations
- The number of registrations processed.
- Counting a single registration only once.
- Unique Registrations may be the most relevant figure on the page.
- Unique Registrations is likely lower than Changes Processed.
- Example: if Joe Citizen’s registration was processed three times, Changes Processed increased by 3.
- Since those changes were all for the same registration, Unique Registrations increased by 1.
- Actions Triggered
- The number of actions triggered by flows.
- If you have one flow with one action, Actions Triggered could match Changes Processed.
- The number of flows and actions configured can increase Actions Triggered.
- Actions Not Triggered
- Only displayed if registrations were processed by flows without actions triggered.
- Example cause: a registration having an untagged status.
- Active Flows
- The number of flows actually processing registrations during the selected period.
- Active Flows is not related to whether the flow is shown as “Active” or “Inactive” on the Flow List.
- External Activities
- The number of External Activities created in Eloqua by flows.
- Form Posts
- Relevant for Form Post actions.
- Form Posts is the number of form posts.
- Leads Created
- The number of leads created in Eloqua by flows.
- Leads Updated
- The number of leads updated in Eloqua by flows.
- Registration Activity in Certain
- Overview information.
- Processing Status
- A pie chart comparing the number of failures and successes.
- Drilling down into failures provides a high-level view for troubleshooting.
- If you can address the failure reason, you can expedite the fix in Signal.
- Expedite fix steps: go back to Flows and click Retry in the left navigation panel.
- Retry Queue location is on page 16.
Troubleshooting tab
The Troubleshooting tab shows information useful for troubleshooting.
Example troubleshooting purpose:
- Some registrations are not processed because a Registration Status is not tagged.
- Troubleshooting provides a chance to rectify that tagging so registrations can be processed on the next retry.
Numbers shown include:
- In Retry Queue
- If an action fails, it joins the Retry Queue.
- See page 16.
- The action will be tried again.
- Maximum automatic retries per action = 3.
- Total Retried
- The number of retries.
- Example: if an action was retried twice, that adds 2 to this number.
- Retried Abandoned
- Actions that failed three retries.
- Validation Errors
- No retries possible because failed validation.
- Example: a contact cannot be created because a mandatory target field has no value in the source field.
- Mappings location is on page 11.
- Retry Activity
- A chart showing retries by time.
- Retry Processing Category
- A chart showing retries by category.
- Example categories include “General”, “System”, “Config”, and “Connection”.
- Connection Activity
- A chart showing activity per connection over time.
Activity Feed tab
The Activity Feed tab lists the registrations processed.
The tab notes success or failure.
The tab includes fields such as:
- Registration Code
- Event
- Flow
Activity Feed is a rolling history by date.
The history provides another way to access lower-level data available in:
- Summary tab
- Troubleshooting tab
The Retry Queue
When an action fails, it usually joins the “Retry Queue”.
The Retry Queue is where the action takes its turn to run again.
Failures that cannot be resolved join exceptions. These exceptions do not join the queue.
Example exceptions include missing mandatory fields.
An action can be retried up to three times.
After three retries, the action does not rejoin the queue.
To see the Retry Queue, click Retry in the left navigation panel on the Flows page.
Causes of failure include:
- planner-controlled causes
- example: a registration with a status that hasn’t been tagged
- technical causes
- example: a connection being down
When you can resolve the cause of a failure, resolve the cause.
Examples include:
- tagging a registration
- setting a flow back to being active
The action should succeed when retried.
For failures that do not resolve themselves, you probably need to contact your administrator or ask Certain for help.
The interval between retries depends on the severity of the reason.
More serious reasons retry sooner.
Filtering the Queue
You can filter the records shown in the Retry Queue using three filters:
- Integration
- Probably only one option: ‘Eloqua’
- This assumes you have multiple integrations set up.
- Status
- Options: ‘All Statuses’, ‘Retry’, ‘Error’, ‘Failed’, or ‘Done’.
- Category
- Options: ‘All Categories’, ‘General’.
- Other options include: ‘System’, ‘Config’, ‘Certain API’, ‘Connection’, etc.
Submitting to the Queue
When you click an item in the Retry Queue, you see its full details.
If the knowledge is enough to solve the problem, click Submit to Retry Queue.
Submit to Retry Queue adds the item straight to the front of the queue.
Replaying a Flow
If you change an aspect of a flow while it has been running for some time, you may want to replay that flow.
Example changes include changing filters.
The replay runs for the same registrations as before.
The replay runs as if the changes had been made earlier.
Certain cannot replay flows directly through the user interface.
You can ask Certain to arrange replay.
You may be able to specify a date range.
You may also be able to specify an event.