This document is a guide to using Certain Signal to integrate with Eloqua.
Signal also integrates with other products, including Marketo and Salesforce via native integrations. Other integrations are available via Webhooks or Advanced Webhooks – see separate guides.
This product is not included with Certain Platform by default, but if you’re interested in it after reading this document, please email help@certain.com including your account name.
Contents
- What is Signal? How does it work?
- Prerequisites
- Data-Flow Considerations
- Eloqua Credentials
- Overview of Setup Steps
- Setting up Tags
- What Are Tags?
- Setting Tags Up for an Account
- Applying Tags in an Account
- Applying Tags in an Event
- Recording an Event’s Campaign Name
- Opening Certain Signal
- Setting up a Connection
- What are Connections?
- Adding a Connection
- Setting Up Flows
- What is a “Flow”?
- The Flow List
- Configuring a Flow
- Flow Data Source
- Available sources
- Activate for …
- Flow Filters
- Flow Destination
- Setting up a Destination
- Mappings
- Campaign ID
- Form
- Metrics Dashboard
- Account Insights
- The Retry Queue
- Replaying a Flow
What is Signal? How does it work?
- Certain Signal processes data from your events in real-time, passing it 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.
- Almost everything is set up at the account level.
- Signal processes information from the events in your account.
- For event-level information this is based on the custom tags you attach to data such as Registration Statuses, as explained in this document.
- Important: Signal processes outbound information, processing information from Certain and sending it to Eloqua.
Prerequisites
Data-Flow Considerations
- Do you capture data in registration questions that will be synced to Eloqua? If so, you’ll need to apply tags to those questions: see page 5.
- Do you have different data mappings based on registration status, or attendee type? If so, you’ll need to apply tags to those items: see page 4.
- How many Eloqua campaigns? One campaign that’s common to all events, or one campaign per event? If one per event, you’ll need an Event Question for the Campaign ID: see page 5.
Eloqua Credentials
For you to set up a Connection in Signal (see page 6), you need to decide which of the two authentication options you will be using: OAuth2 (our recommendation) or Basic Credentials.
- Setting up a Connection is explained on page 7.
- OAuth2: Your Eloqua administrator will need to create an OAuth2 app in Eloqua, by going to Settings > App Cloud Developer > Create New App. They then provide:
- Endpoint
- Client Id
- Client Secret
- Callback URL: https:///svcs/maintegration/oauth2Callback
- Basic Credentials: This option uses an Eloqua user: Username and Password.
- The user is likely to be one set up for integrations only (such as MyOrganization/Integration), but could be a regular user.
- They must have access in Eloqua to:
- Create Contacts
- Add Contacts to a List
- External Activities
Overview of Setup Steps
Step | See Page | On Certain Platform
- 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 |
- 5. Add Connection | 6 |
- 6. Configure a Flow | 8 |
Setting up Tags What Are Tags? Tags are a way of identifying event-level data using labels you set at the account level. You can then apply those tags to generic items in events, especially custom registration statuses and custom registration properties for use in Certain Signal. (Tags can be used for other purposes as well, but this guide doesn’t cover that.) For example, 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, or you might choose to give each one its own Tag. When you set up a Flow in Certain Signal to send data to Eloqua when an attendee’s Registration Status changes, for example, you specify the tags applicable to those statuses, not the statuses themselves. That means the flow can 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):
- a. Registration Statuses
- b. 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):
- a. Attendee Types
- b. 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:
- Registration Statuses and Registration Custom Properties.
- (You can also tag Attendee Types and Events, so that you can filter registration records by attendee type or event: see Filters on page 10.)
Default Registration Statuses
- These apply to all events, so an Administrator applies the tags at the account level.
- 1. Go to Account Settings > Management > Registration Statuses.
- 2. 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, but it’s essential to tag at least the ‘New’ status (which Certain uses “behind the scenes” when first processing each registration).
If you do use standard reg statuses, it’s essential that you tag them all, so that you can use them in the Flows you configure in Signal: see page 8.
Applying Tags in an Event
Custom Registration Statuses
- If any of the Flows you configure in Signal will watch or activate for changes of Registration Status (see page 10):
1. In each event, go to Plan > Event Setup > Custom Statuses
2. Select at least one tag for each status.
Custom Registration Properties
- If any of the Flows you configure in Signal will activate for Custom Reg Properties (see page 10):
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
- These tags are set up for you automatically, with names identical to the properties themselves: Complete, Badge Printed, On To Do List, Invoice Generated, and Test.
- You only see them in Signal, where, just like Custom Reg Properties, you can activate Flows for them (see page 10). There’s 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. or more Tags for each attendee type on which you may wish to filter registrations. (See Filters on page 10.)
Events
- Optional – for use with filters – see page 10.
1. In each event you may wish to include in a filter (for example to ensure that only registrations for that event are passed to Eloqua):
2. Go to Plan > Event Setup > Details.
3. 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. (Selecting more could result in duplicate data in Eloqua.)
Recording an Event’s Campaign Name If any of your Flows in Signal will include an action to ‘Trigger Campaign’ or ‘Create/Update Contact’ (see page 13) where the campaign is set per event rather than using the same campaign for all events, then you need to set up an event question to record the Campaign Name for each event. 1. As an Administrator in Certain Platform, go to Account Settings > Management > Event Data 2. Add an Event Question, such as ‘Eloqua Campaign Name’ 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—available to Administrators—includes an extra option:
- Signal Real-Time Data Integration
Click that link to open Certain Signal in a separate window; it runs separately from Certain Platform.
Note: To return from Signal to Certain Platform at any time, click the appropriate link in the UI.
Setting up a Connection What are Connections? A Connection in Certain Signal specifies how to connect to your instance of Eloqua – your Target application. You can actually have multiple connections, perhaps to Eloqua and another application. (Other target applications are covered in separate guides.) Each Flow (see page 8) requires a Connection. Multiple flows may use the same Connection. You can set up a Connection before configuring your first Flow, but you also have the option to do so while configuring a Flow. This guide assumes you’re setting up the Connection first.
Adding a Connection
As an Administrator you may set up one or more Connections for your account. You need only do so once – you can then use them in the Flows you set up (see page 8, below).
1. Go to Account Settings > Implementation > Signal Real-Time Data Integration.
2. As noted above, 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.
- Target: Select Eloqua as the third-party app to connect to.
- Connection Name: Enter a name of your own choice. This could be just ‘Eloqua’ or ‘Eloqua Connection’, for example.
- Service URL: Enter the beginning of the Eloqua URL to which you are redirected when you log in to Eloqua: the part starting with “https://” and ending with “eloqua.com”. For example: https://secure.p03.eloqua.com
- Authentication Type: Select the authentication type to be used: ‘Basic Authentication’ or ‘OAuth2’.
- Basic Authentication – using an Eloqua username and password.
- User Name – An Eloqua user, likely to be one set up for integrations only, such as ‘MyOrganization/Integrationuser’, but could be a regular user.
- Password – The Eloqua password for that user.
- OAuth2 – our recommended best practice, this is an industry-standard secure method of authentication.
- Grant Type: Select ‘Authorization Code’
- Client Id and Client Secret: These two long strings of characters are unique to the OAuth2 app your Eloqua administrator has set up
as explained under ‘Eloqua Credentials’ on page 2.
- Access Token URL, Refresh Token URL, Scope, Test Connection URL: Use the default values.
- Force Update: Relevant only for ‘Add to List’ actions. If selected, then if Eloqua already has a record for the Contact whose data is being sent, that Contact will be updated where any details in Certain differ — for example, their phone number.
6. Click Save & Test.
7. If the test is successful, click Close. If it’s not, check that the 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: see Configuring a Flow, below.
- You may configure several flows for an account, which might all use the same Connection (explained above).
- You only need to configure a flow once at the account level. When a flow is complete, it will start picking up data for each event in that account within about a minute.
- The minute’s delay is because Signal runs independently from Certain Platform. So if you edit a flow then the same slight delay occurs before that change takes effect in the processing of the registrations.
The Flow List
- The Flow List is the main screen in Signal that lists all flows.
- The Status column shows whether a flow is completely set up.
- The Active column shows whether the flow is running. 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 – see screenshot overleaf.
- The configuration consists of:
- Name
- ‘Live’ or ‘Test’ status
- Source
- Filters
- Destination
- ‘Live’ or ‘Test’
- Live: A Live Flow will pick up all live registrations in live events. It will ignore test registrations, even in live events.
- Test: A Test Flow picks up all test registrations: that’s all registrations in test events, plus 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
Next, specify the Source of data for the flow (optionally applying Filters). The Source of a Flow is what the Flow will watch for in your data in Certain and when it will activate, based on that data.
- Examples: watch for any change to a Registration Status, and activate 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 status changes.
- Event Create Update: When an event is created or updated.
Note: You can always save an incomplete Flow and complete it at a later date. As soon as a Flow is complete, it will start 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 tags available are those set up for that object; see page 3.
- If the Flow is watching for Registration Status Change, you must activate for Registration Statuses.
- If it’s watching for Session Registration Status Change, you must activate for Session Registration Statuses.
- If it’s watching for Event Create Update, you must activate for Event Statuses.
Flow Filters
- You can filter the data going into a flow by selecting fields in any of these three filter types: Event fields, Profile fields, and Attendee Type tags.
- The flow will only include a registration if it meets the rule(s) specified in the filter.
- Event fields: standard event fields (e.g., Event Code), custom event fields, event tags
- Profile fields: standard profile fields (e.g., Position), custom profile fields
- Attendee Type Tags: tags that can be applied to Attendee Types
Note: For custom fields you can only select “enumerated” questions – those that have pre-configured answers; that is, questions that 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 one.)
- Setting up a Destination
1. Give the Destination a name of your choice,
2. Select the Connection to use. Note: You can instead click New Connection to add a connection; the process to set one up is the same as 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
- 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 nobody has set any mappings up yet, click New Mapping to add one:
- Give the mapping a name of your choice.
- The left column lists Eloqua fields: the “target” fields. Under each one is the default “source” field in Certain matching that target field.
- 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, there’ll be a validation error when the flow tries to update Eloqua.
- You can concatenate multiple source fields for the same target field, and even type fixed text.
- The Certain fields you can choose from as the source of the 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, and one for its answer
- Registration Standard Properties
- Account Standard Fields (Account Code)
- Event Standard Fields (e.g., Event Code and Event Name)
- Event Custom Fields
- Flow Fields (Flow Name)
- Macros (e.g., Current Date)
- In the second column you can select a transformation option for each field (lower case, Proper Case, UPPER CASE, Trim). You can apply more than one transformation.
- At the end of the list you can Add Target Fields and select source fields for them.
- To delete a field, click DELETE.
- If you’ve selected a mapping then you can use Edit Mapping, Preview Mapping, and Refresh Target Fields.
- Note: This is likely for new fields added since a connection was created. A refresh updates the cached mappings.
- Campaign ID
- The Campaign ID is required if your action is ‘Trigger Campaign’ or ‘Create/Update Contact’.
- 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.
- 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:
- Select A Form: the Eloqua form to which the data will be sent,
- Form URL: populated automatically based on the form selected,
- Mapping: the target fields are pre-populated based on the form selected. Then you map them as described under Mappings above.
Metrics Dashboard
- To see the statistics available in Signal, click Metrics in the left navigation panel when looking at flows.
- The choices in the new navigation panel depend on the flows and their targets.
- The first tab is Insights, illustrated below.
- Other links may include Leads Created and Form Posts; these work the same as Account Insights.
Account Insights
- Select Live Flows or Test Flows. Choose a period (e.g., last 15 minutes, 1 hour, 4 hours, or a number of days).
- There are three tabs: Summary, Troubleshooting, and Activity Feed.
- Summary
- Changes Processed: The number of registrations processed. Increments each time a registration is created or updated in Certain and then processed by a flow in Signal.
- Unique Registrations: The number of registrations processed, counting each registration only once.
- Actions Triggered: The number of actions triggered by flows.
- Actions Not Triggered: Displayed if registrations were processed by flows without actions triggered.
- Active Flows: The number of flows actually processing registrations during the selected period.
- External Activities: The number of External Activities created in Eloqua by flows.
- Form Posts: 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 numbers of failures and successes.
- Drilling down into the failures provides a high-level view for troubleshooting.
- Troubleshooting
- The page shows information for troubleshooting.
- Examples include whether a Registration Status is tagged.
- The numbers shown can be drilled down to see actual records.
- Retry Queue: where actions that fail join for retry (maximum automatic retries per action = 3).
- Total Retried: number of retries.
- Retried Abandoned: actions that failed three retries.
- Validation Errors: no retries possible because failed validation.
- Retry Activity: a chart showing retries by time.
- Retry Processing Category: a chart showing retries by category (General, System, Config, etc.).
- Connection Activity: a chart showing activity per connection over time.
- Activity Feed
- A rolling history of processed registrations, noting success or failure, Registration Code, Event, Flow, etc.
The Retry Queue
- When an action fails it usually joins the “Retry Queue,” where it takes its turn to run again. (Failures that can’t be resolved, such as missing mandatory fields, are exceptions: they don’t join the queue.)
- An action can be retried up to three times, after which it 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: a registration with a status that hasn’t been tagged, and technical issues such as a connection being down.
- If you can resolve the cause of a failure (e.g., tagging a registration or setting a flow back to active), the action should succeed on retry.
- For other failures, contact your administrator or ask Certain for help.
- Retry interval depends on the severity of the reason.
Filtering the Queue
- You can filter the records shown in the Retry Queue using:
- Integration: Eloqua (likely only one option)
- Status: All Statuses, Retry, Error, Failed, or Done
- Category: All Categories, General, 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 you can solve it, click Submit to Retry Queue to move the item to the front.
Replaying a Flow
- If you change an aspect of a flow while it has been running, you may want to replay that flow for the same registrations as before.
- This is not automatic; you can ask Certain to arrange it for you. You may specify a date range or an event.
Metrics and Troubleshooting summary
- The Signals dashboard provides live and historical insights.
- The Retry Queue helps manage failures and retries.
- The Flow List shows current configurations and statuses.
Setting Up Tags (continued)
What Are Tags? (repeated)
- Tags identify event-level data using account-level labels.
- Tags can be applied to Registration Statuses and Custom Registration Properties.
- Tags can also be applied to Attendee Types and Events for filtering.
Applying Tags in an Account (continued)
Default Registration Statuses (revisited)
- Tags apply to all events; administrators apply them at the account level.
- It’s recommended to tag all standard statuses; ensure the New status is tagged.
Applying Tags in an Event (continued)
Custom Registration Statuses (continued)
- If any Flows watch for changes of Registration Status, ensure appropriate tags are applied.
Custom Registration Properties (continued)
- For Custom Registration Properties, apply tags to corresponding event properties.
Standard Registration Properties (continued)
- Standard properties are automatically tagged.
Attendee Types (continued)
- Optional for use with filters; tag attendee types if needed.
Events (continued)
- Optional for use with filters; tag events if needed.
Flow Filters (continued)
- Flow Filters: Event fields, Profile fields, and Attendee Type tags.
Flow Destination (continued)
- Destination: Eloqua; may require new or existing connections.
Mappings (continued)
- Mappings specify how Eloqua target fields map to Certain source fields.
Campaign ID (continued)
- Campaign ID: Dual options (Event Question-based vs Campaign Name).
Form (continued)
- If action is Form Post, map the Eloqua form fields to Certain fields.
Metrics Dashboard (continued)
- Deep dive into account-level metrics and flow-level metrics.
Account Insights (continued)
- Drill-down capabilities to inspect specific event data, flows, and registrations.
The Retry Queue (continued)
- Detailed description of failure categories and remediation.
Replaying a Flow (continued)
- Instructions for requesting a replay of a flow with specified parameters.
Setting up a Connection (continued)
- Additional connection configuration details.
This completes the major sections of the Eloqua integration guide content replicated from the web page and screenshot content. All content is presented in English and organized to reflect the page’s hierarchy, preserving the details as described in the source materials.