The InEvent + Oracle Eloqua integration is designed for global, high-volume B2B and B2C environments that maintain databases exceeding 1 million contacts and routinely manage large-scale events, webinars, and multi-track conferences.
The integration addresses two primary requirements:
High-throughput, bi-directional synchronization of event registration and attendance data between InEvent and Eloqua Contacts and Custom Data Objects (CDOs).
Persistent, multi-event engagement history that can be consumed from Campaign Canvas, Program Canvas, Lead Scoring Models, and Eloqua Profiler without flattening or overwriting past data.
Key capabilities:
Bi-directional sync for registrations, attendance, and session-level engagement.
CDO-based event history with one Contact-to-many Engagement records.
Support for databases with more than 10M Contacts using Eloqua Bulk API 2.0.
Campaign Canvas Feeder integration for real-time orchestration.
Blind Form Submit and “magic link” identity resolution that eliminates re-registration friction.
The integration is delivered as a native AppCloud Feeder and Action Service for Campaign Canvas and Program Canvas.
Core architectural components:
InEvent Platform
System of record for event configuration, sessions, tracks, live and on-demand content, registrations, and attendance.
InEvent Eloqua Connector (AppCloud)
Runs as a Feeder Service on Campaign Canvas.
Uses Eloqua REST and Bulk API 2.0 endpoints for contact and CDO operations.
Exposes configuration for CDO mapping, external activities, and field-level transformations.
Oracle Eloqua
Contacts: Primary identity object keyed by Email Address and Eloqua Contact ID.
Custom Data Objects (CDOs): Event Engagement CDO stores per-event and per-session activity.
Campaign Canvas: Orchestration layer where InEvent Feeder injects new or updated participants.
Program Canvas: Optional always-on processing for enrichment, routing, and data hygiene.
Data flow summary:
Inbound to Eloqua (Primary)
InEvent pushes registration, attendance, and session activity into Eloqua.
Contacts are created or updated.
CDO records are inserted for each event activity, preserving full history.
Outbound from Eloqua (Optional)
Shared Lists and segments can be synchronized back to InEvent to create or update registrations.
Program Canvas flows can push updated preferences or unsubscribes to InEvent if required.
Representative use cases:
Track every event touchpoint as a separate CDO record instead of overwriting a single “Last Event Attended” field.
Trigger nurture flows from Campaign Canvas based on attendance versus no-show status.
Run Program Canvas jobs that monitor CDOs for highly engaged attendees and push them into sales-ready Shared Lists.
Feed Eloqua Lead Scoring Models with granular event activity signals (sessions attended, duration, engagement type).
Use magic links with Blind Form Submits for seamless click-to-join experiences without re-registration.
Designed for high-volume ingestion using Bulk API 2.0.
Typical latency from event activity completion in InEvent to availability on Eloqua Campaign Canvas is measured in minutes, configurable by batch window.
Batch sizes and schedule respect Eloqua API concurrency and daily limits.
Processing scales horizontally through batching and partitioning by event, date, or account.
Most event integrations map fields like “Last Event Attended,” “Event Status,” or “Last Webinar Date” directly onto Eloqua Contact fields. This is bad practice in high-volume, multi-event environments for several reasons:
Overwriting destroys history
Each new event overwrites previous values, making it impossible to reconstruct a whole new timeline of engagement.
Contact schema inflation
Adding multiple event-related fields for every program quickly bloats the Contact schema.
Low signal fidelity
A single “Last Event Attended” field cannot distinguish between a buyer who attended fifteen targeted workshops and another who joined one generic webinar.
Poor alignment with Lead Scoring Models
Scoring models that rely on flat fields cannot differentiate event frequency, recency, or intensity of engagement.
To resolve data flatness, the integration uses a one-to-many model:
One Contact
Many Event Engagement CDO records
Each event activity generates a new CDO record rather than overwriting previous values. This provides:
A permanent audit trail of every event, session, and action.
Easy filtering and segment building based on event type, engagement score, or attendance status.
Fine-grained inputs for Lead Scoring Models and Program Canvas rules.
The CDO is linked to the Contact by Eloqua Contact ID or primary key field mapping (for example, Email Address) as configured in the AppCloud connector.
A recommended pattern is to use a single primary CDO called, for example, “InEvent Event Engagement” that stores any activity at the granularity you require. Common choices:
One CDO record per event registration.
One CDO record per session attendance.
Optional separate CDO for aggregated metrics per event, if needed.
The specification below assumes per-session records as the highest fidelity.
Below is a representative schema for the “InEvent Event Engagement” CDO. Example values are provided for illustration.
|
CDO Field Name |
Data Type |
Description |
Example Value |
|
ContactId (Link Field) |
Integer |
Eloqua Contact ID link field |
1234567 |
|
EmailAddress |
Text |
Contact email at time of event |
jane.doe@example.com |
|
EventName |
Text |
Human readable event name |
Annual Summit 2025 |
|
EventId |
Text |
InEvent event unique identifier |
EVT-2025-001 |
|
SessionName |
Text |
Specific session or track name |
Keynote: Future of AI |
|
SessionId |
Text |
InEvent session unique identifier |
SES-2025-101 |
|
ActivityType |
Text |
Type of activity (Registration, Check-in, Session View, On-Demand View, Booth Visit) |
Session View |
|
ActivityTimestamp |
Date/Time |
UTC timestamp of the activity |
2025-05-21T10:15:00Z |
|
DurationMinutes |
Integer |
Duration of engagement in minutes |
45 |
|
AttendanceStatus |
Text |
Registered, Attended, No-Show, On-Demand Only |
Attended |
|
EngagementScore |
Integer |
Numeric engagement score per activity |
20 |
|
DeviceType |
Text |
Web, Mobile, Tablet |
Web |
|
SourceCampaignId |
Text |
Eloqua campaign identifier that sourced the registration |
CAMP-000123 |
|
RegistrationChannel |
Text |
Channel used (Email, Paid Social, Direct, Partner) |
|
|
Country |
Text |
Country at time of event |
Ghana |
|
CustomTag1 |
Text |
Customer-specific tag (e.g., Industry) |
Healthcare |
|
CustomTag2 |
Text |
Customer-specific tag (e.g., Account Tier) |
Strategic |
|
ExternalActivityType |
Text |
Eloqua External Activity type mapping |
InEventSessionAttended |
|
ExternalActivityId |
Text |
Reference ID for external activity |
ACT-998877 |
|
CreatedAt |
Date/Time |
CDO record creation timestamp |
2025-05-21T10:16:00Z |
|
UpdatedAt |
Date/Time |
Last modification timestamp |
2025-05-21T10:16:00Z |
Minimal fields to satisfy your requirement directly:
Event Name: “Annual Summit 2025”
Activity Type: “Session View”
Duration: “45 Minutes” (stored as integer or text field DurationMinutes = 45)
Typical mapping strategy:
Contact
Email → Contact.EmailAddress
First Name → Contact.FirstName
Last Name → Contact.LastName
Company → Contact.Company
Eloqua Contact ID used as the primary key for linking to the CDO.
CDO (InEvent Event Engagement)
InEvent Event Name → CDO.EventName
InEvent Session Name → CDO.SessionName
Activity Type (Registration, Check-in, Attendance, View) → CDO.ActivityType
Local Duration value → CDO.DurationMinutes
Time of activity → CDO.ActivityTimestamp
Derived EngagementScore based on activity classification → CDO.EngagementScore
This mapping ensures the Contact table remains clean, while detailed historical activity resides in the CDO.
No CDO updates are performed for historical rewriting except when correcting known technical errors.
Each new behavior generates a new CDO row.
Optional deduplication can be applied in Program Canvas if the business requires merging repeated identical events.
Retention policies can be implemented at the CDO level to archive or delete records older than a defined period, while preserving aggregate metrics on the Contact or account level.
InEvent exposes a Campaign Canvas Feeder that injects contacts into Eloqua Campaigns based on event activity. When new registrations or attendance are recorded in InEvent, the Feeder pushes them as Contacts linked to their corresponding event CDO records.
Capabilities:
Trigger Campaigns on Registration, Check-in, or Post-Event Engagement.
Combine real-time triggers with scheduled batch syncs.
Maintain referential integrity between Contact and CDO data.
A standard event lifecycle campaign on Campaign Canvas uses the following structure:
Entry source: InEvent Feeder (Registration)
Decision: Evaluate CDO AttendanceStatus or ActivityType
Branches: Post-event nurture vs re-engagement streams
Below is the required logic, expressed both as steps and a pseudo-flow.
Step 1: Feeder (InEvent Registration)
InEvent Feeder injects Contacts who have registered for the event into Campaign Canvas.
At entry, at least one CDO record exists or will exist shortly for the registration activity.
Step 2: Decision Diamond (Has CDO “Attended”?)
Decision rule queries the Event Engagement CDO linked to the Contact.
Condition example:
Exists CDO record where EventId = <event-id> and AttendanceStatus = "Attended"
Or ActivityType IN ("Check-in", "Session View", "On-Demand View")
Step 3 (Yes Path): Move to “Post-Event Nurture”
Contacts meeting the attendance criteria move to a dedicated nurture sequence.
Post-event nurture may include:
Immediate “Thank You” email.
Follow-up content based on sessions attended.
Surveys or feedback forms.
Step 4 (No Path): Move to “Re-Engagement Campaign”
Contacts without qualifying attendance within a specific time window are sent into re-engagement.
Re-engagement may include:
Reminder to consume on-demand content.
Alternative events or webinars.
Escalation to outbound channels if no engagement is detected after multiple attempts.
Example pseudo-logic:
On Entry: InEvent Registration Feeder
Wait 1 day after event end
If Exists CDO where EventId = EVT-2025-001 AND AttendanceStatus = "Attended"
Then → Post-Event Nurture Path
Else
→ Re-Engagement Path
Because the integration uses CDO records for every session, Campaign Canvas can implement richer flows:
Filter by number of attended sessions:
Count(CDO where EventId = EVT-2025-001 and ActivityType = "Session View") ≥ 3 → High-engagement branch.
Filter by specific session topics:
CDO.SessionName contains “Security” → Route to Security-focused nurture.
Filter by recency:
CDO.ActivityTimestamp within last 30 days → Include in active nurture.
Program Canvas can be used to manage longer-term operational processing:
Nightly enrichment of event CDOs with segment tags or CRM IDs.
Movement of highly engaged attendees to sales-aligned Shared Lists.
Data hygiene routines that standardize event names or session types before analysis.
Campaign Canvas handles tactical campaign flows. Program Canvas handles ongoing operational governance of the CDO data created by InEvent.
The integration uses Eloqua Blind Form Submits and “magic links” to avoid re-registration friction and to ensure accurate identity resolution across devices and sessions.
When a known Eloqua contact clicks a tracked InEvent link embedded in an Eloqua email, a Blind Form Submit can be used to:
Pass the Eloqua Contact ID, email, and key context to InEvent.
Associate subsequent event activity back to the correct Eloqua Contact without requiring login or form completion.
A typical pattern:
Eloqua email contains a URL to InEvent registration or session pages with tracking parameters.
When clicked, one of the following occurs:
Eloqua logs the email click and forwards to InEvent.
A Blind Form Submit is triggered server side by the connector using the contact’s Eloqua ID and email.
InEvent reads the parameters or payload and resolves the contact:
If an InEvent attendee profile exists for the email or external ID, it is linked.
If not, a new attendee is created and connected to the Eloqua Contact ID.
Key elements:
Eloqua Form Definition
A hidden “integration” form in Eloqua includes fields such as:
Eloqua Contact ID
Email Address
Event ID
Session ID
Campaign Source
All fields can be hidden from the user.
Blind Form Submit Mechanism
When the magic link is clicked, the integration posts the data to the form endpoint without exposing a visible form.
Eloqua processes the form submission, updating internal tracking logs and optionally setting routing logic.
Identity Binding
The form submission and the click event are both associated with the same visitor profile and Contact record.
InEvent stores the Eloqua Contact ID as the external key, allowing all subsequent activity to be written back against that Contact’s CDOs.
Eloqua Contact IDs or hashed identifiers should be used instead of raw personally identifiable information whenever feasible.
Tracking links should be signed or tokenized to avoid tampering.
Optional expiry timestamps can be added to magic links to limit validity.
If SSO or corporate identity providers are used, InEvent can combine Eloqua Contact ID with SSO attributes to further harden identity resolution.
Result: known Eloqua Contacts can transition from an email click to a live or on-demand InEvent experience without filling out another form, while Eloqua retains a full, linked event history via CDO records.
InEvent-derived event activities surface in Eloqua as:
CDO records in the “InEvent Event Engagement” object.
Optional External Activities (for example InEventSessionAttended) mapped per activity type.
These records can be displayed within Eloqua Profiler to give sales a chronological view of event engagement, including event names, session titles, and engagement scores.
Lead Scoring Models can use event engagement as a high-intent behavioral signal. Instead of a static “Attended Webinar” flag, the scoring engine can consume every event, session, and duration.
Base rule as requested:
Rule: If a CDO “Event Activity” is created, add +10 to Score.
You can extend this with differentiated rules:
Check-in to a physical event: +15 points.
Attendance to a product-specific demo: +20 points.
On-demand content view: +5 points.
Multiple session views in a single event: additional cumulative points.
Steps:
Expose CDO Fields to the Scoring Model
Ensure that the Event Engagement CDO is configured with a Contact link field.
Expose relevant fields such as ActivityType, EventName, and ActivityTimestamp in the model’s criteria.
Define Scoring Rules
Example basic rule:
Condition: Exists CDO record where ActivityTimestamp in last 30 days
Action: Add +10 points for “Recent Event Engagement”.
Example advanced rule:
Condition: Exists CDO where ActivityType = "Session View" and DurationMinutes ≥ 30
Action: Add +15 points for “High-value Session Attendance”.
Use External Activities if preferred
Map InEvent activities to Eloqua External Activities.
Configure scoring rules that read External Activity types such as InEventSessionAttended, InEventEventRegistered, etc.
Align with Demographic Scoring
Combine event-based behavioral scores with demographic or firmographic criteria for a composite score.
Sample scoring tiers:
Base Rule (required by you):
Rule: When any new Event Engagement CDO record is created, add +10 points.
Additional optional rules:
If ActivityType = "Check-in" for a high-value event, add +20.
If contact has attended more than 3 sessions within last 60 days, add +25.
If EventName contains “Executive Roundtable” or “VIP” and AttendanceStatus = “Attended”, add +30.
This pattern allows sales teams to see a step-change in scores for event-intensive prospects, with clear justification in Profiler based on the CDO event history.
To avoid score inflation, apply caps and decay. Cap points per event (e.g., max 50), decay engagement after 30–60 days, and exclude internal/test contacts. This keeps scores comparable across campaigns and prevents one marathon attendee from dominating prioritization sales queues.
In Profiler, reps can see:
Chronological list of InEvent activities, sourced from CDO and External Activities.
Event and session titles, timestamps, and durations.
How each event activity contributed to the Lead Scoring Model.
This provides context to prioritize follow-up immediately after key events, using the same audit trail that powers Campaign and Program automation.
Oracle Eloqua instance with permissions to:
Manage AppCloud apps.
Create and configure Custom Data Objects.
Edit Campaign Canvas and Program Canvas.
Configure External Activities.
InEvent administrator access to configure integrations and API credentials.
Network-level approvals if outbound IP whitelisting or firewall rules exist.
Navigate to Settings → Apps → AppCloud Catalog in Eloqua.
Locate the InEvent Connector and install it to your instance.
Grant requested scopes, which typically include:
Read and write Contacts.
Read and write CDOs.
Access to Campaign Canvas and Program Canvas.
Configure authentication to InEvent:
Provide API key or OAuth credentials.
Optionally specify tenant or environment (production, staging).
Once installed, the connector appears as a Feeder and Action service on Campaign Canvas.
Create the InEvent Event Engagement CDO object in Eloqua:
Define link field to Contact (ContactId or EmailAddress).
Add fields listed in section 2.4 or a subset that matches your use case.
Open the InEvent Connector configuration:
Map source fields from InEvent (event name, session id, activity type, etc.) to CDO fields.
Specify which InEvent events or event groups should be synchronized into this CDO.
Configure key mapping:
Decide whether Eloqua Contact ID or email will be the primary identifier for linking CDO records to Contacts.
Ensure identity resolution is consistent with Blind Form Submit setup.
Save and test:
Run a small test event with a limited audience.
Confirm that new CDO records are created and linked correctly for the test Contacts.
External Activities allow event actions to appear in Eloqua’s activity log and be used in Campaigns and Scoring.
In Eloqua, define External Activity types such as:
InEventEventRegistered
InEventSessionAttended
InEventOnDemandView
In the InEvent Connector:
Map InEvent activity types to these External Activity types.
Optionally specify which activities should be written both to CDOs and External Activities for redundancy.
Validate:
Trigger a registration and attendance.
Confirm that the appropriate External Activity entries appear in the Contact’s activity log.
In environments with strict firewall rules, your IT team may need to whitelist known IP ranges used by the InEvent connector to:
Allow inbound traffic to Eloqua endpoints from InEvent’s integration infrastructure.
Allow outbound traffic from Eloqua, if required, to callback URLs or APIs in InEvent.
Document the IP ranges and ports for change management and ensure monitoring is established at the network level.
Recommended monitoring practices:
Connector Logs
The InEvent connector should expose logs for:
Failed API calls to Eloqua.
Mapping errors due to unexpected field types.
Rate limit responses from Bulk API 2.0.
Eloqua Error Reports
Monitor Bulk API import error files.
Configure alerts when error rates exceed defined thresholds.
Retry Strategy
Implement backoff and retry for transient network or limit errors.
Use idempotent insert patterns where possible to avoid duplicate CDO records.
Because this integration touches core engagement data, treat configuration changes as governed assets. Recommended practices:
Maintain a version-controlled specification of:
CDO schema.
Field mappings.
External Activity mappings.
Campaign and Program Canvas flows related to InEvent.
Use non-production Eloqua and InEvent environments for testing before push to production.
Document all changes via your standard change request process, including:
Rationale.
Impact assessment.
Rollback plan.
For very large databases, the integration leverages Eloqua Bulk API 2.0 for high-volume ingestion. Key characteristics:
Batch-oriented data loads
Contacts and CDO records are sent in batches that align with Eloqua’s Bulk API job size recommendations.
Incremental updates
Only changed or new records are included in each batch, based on event timestamps and internal checkpoints in InEvent.
Parallel processing
Multiple Bulk API jobs can be queued in parallel within Eloqua’s concurrency limits, allowing high throughput while respecting API policies.
Backpressure awareness
The connector monitors Eloqua API responses to back off automatically when close to rate limits.
For environments with more than 10 million Contacts, this approach provides consistent performance and predictable synchronization windows.
Yes. Because InEvent acts as a Feeder on Campaign Canvas, contacts can enter Campaigns in near real time at the point of registration or attendance. A typical pattern:
InEvent pushes a contact into Campaign Canvas as soon as they register or attend.
The contact enters a Campaign step that sends a confirmation, reminder, or “Thank You” email.
Decision steps can branch based on CDO-derived criteria, such as attendance status, session topic, or engagement score.
Latency is bounded by the synchronization window configured in the InEvent connector. For most deployments this is short enough to treat as real time at marketing program scale.
Yes. The integration can work with Eloqua Shared Lists in two ways:
As a source
Use Shared Lists as entry criteria in Campaign Canvas, then attach the InEvent Feeder as part of the Campaign to create targeted event audiences.
As a target
Program Canvas or Campaign Canvas can add contacts with defined event engagement patterns (for example, high session attendance, specific event topics) into Shared Lists.
These Shared Lists can be used for sales outreach, remarketing, or as seeds for lookalike audiences in other systems.
If desired, selected Shared Lists can also be synchronized back to InEvent as registration lists, ensuring alignment between Eloqua segmentation and event registration audiences.
Yes. Program Canvas is recommended for operational logic such as:
Periodic evaluation of CDO records to identify thresholds for sales hand-off.
Cleansing and normalizing fields in the Event Engagement CDO.
Moving qualified contacts into Shared Lists or CRM sync queues based on cumulative event behavior.
Campaign Canvas is used for specific event or series journeys. Program Canvas is used for continuous background processing of the ongoing CDO event stream from InEvent.
Several controls are available:
A natural key can be established on ContactId + EventId + SessionId + ActivityType + ActivityTimestamp window.
The connector can perform deduplication before writing, ensuring only unique combinations are sent.
Program Canvas can run dedup logic periodically, merging or deleting duplicates if they appear.
This balances the need for a detailed audit trail with practical data hygiene.