RESPONSE PROCESSING AT SCALE IN A LARGE B2B ENVIRONMENT

 

THE CHALLENGE:

 

The challenge in our B2B large enterprise environment was to process a large number of marketing activities properly at scale as well as to ensure the leads flow to our CRM system in time.

 

Our enterprise Eloqua implementation (instance):

  • Supports multiple regions
  • Supports multiple product lines
  • Has several API integrations with internal and external systems

 

The major use cases where we faced response and lead processing related issues:

  • When the same contact submitted multiple form responses in a short period of time.
  • When we used blind form submits as an integration and the partner submitted the records in batch (and the batch included the same contact multiple times).
  • Custom integration through Bulk API and the vendor submitted the responses in a batch including the same contact multiple times.

 

We have identified the following issues as a result of the above scenarios:

  • Duplicated and/or missing lead records in the CRM system
  • Inaccurate lead scores
  • Inability to properly track the lead source
  • Different reporting accuracy challenges

 

The root cause of these issues was that the Eloqua contact record got updated - sometimes multiple times - before the lead processing program completed in Eloqua and the lead record could have been created properly in the CRM system. The investigation was challenging since the behavior was not consistent within these use cases. The number of impacted records and the issue cause depended on the Eloqua instance performance as well as the time that was needed to have the lead program processing completed for the response / contact records in question.

 

OUR SOLUTION:

The solution in our environment was to leverage the Custom Object capability in Eloqua to store all response separately. We implemented a general process and guidelines to ensure when a form submit / response is captured a new record is created in a dedicated custom object with a time stamp added to the new contact record creation or updated in the Eloqua Contact table.

 

To ensure consistency all the response capture (intake) processes had to be adjusted to use the new response custom object. Once the response custom object was created we had to review and ensure that all the form processing steps were connected to this new custom response object, this included forms hosted on Eloqua and on other websites as well as event related forms. We learned that if you are capturing information on a form that does not need to be on the contact record, you can use the Update Custom Object processing step. The response processing steps, programs, and syncs also had to be adjusted to use the response custom object (like lead scoring and CRM lead creation). In addition to the form configurations we had to align the custom API integrations to ensure our partners are also leveraging the response custom object and loading / updating it properly in parallel to the Eloqua Contact and other out of the box objects.

The response custom object also provided the opportunity to enable more detailed reporting and easier troubleshooting. We configured each response processing step to update the response custom object record with a specific status code and time stamp. By using these status codes and time stamps we could set up an enhanced operation and lead flow monitoring process including reporting. In addition we integrated the new response custom object into our Enterprise Data Warehouse we were able to deliver more accurate business reports and dashboards.

 

High level overview of the Response Custom Object in the framework:

 

Luminary.png

THE OUTCOME AND RESULTS:

 

  • Enhanced lead quality, reduced duplicate leads: As the lead creation in the CRM system used the response custom object the lead record had the values from the actual response and not from the most recent Contact record. This eliminated the duplicated leads due to an update overwriting the Eloqua Contact record.
  • Increased efficiency across the organization: Due to the processing status codes the response processing investigation was much easier and faster. We developed a response / lead processing dashboard that shows the number of records in the different process statuses as well as the number of errors and their different statuses. This self-service dashboard reduced the queries to our platform team as the demand generation team could check their lead flow status themselves.
  • Enhanced reporting capability: The processing status codes enabled us to identify the problematic parts of the lead flow process. It also enabled us to improve campaign set ups and accelerate lead flow. This is because we are able to measure the time required for each processing step. Once we knew that we were able to take steps to improve the problematic ones.
  • Improved targeting and segmentation capability: The response custom object was also a great source for our Enterprise Data Warehouse that provides the data for segmentation and list pull process.

 

ADDITIONAL NOTES:

 

I highly recommend that before making a decision to move to the above described processing architecture (or to a similar one) you thoroughly analyze all your use cases and the related business requirements. This will drive the supporting design and process/object architecture.

 

The Eloqua custom object capability provides great benefits but it also adds complexity to your Eloqua instance. If the standard out of the box Eloqua objects and response / lead processing capability can meet your business requirements the less customization is always better. If you decide to go with the custom object approach ensure you thoroughly test the configuration - ideally in a sandbox environment - including all the integration points to avoid any surprises in the production process.

I had experience on a large enterprise Eloqua instance where the out of the box Eloqua response and lead processes worked well with some additional custom processing that accessed the Eloqua Contact, Form and Marketing Activity data through API.

 

So the best solution really depends on your specific requirements and usage.

 

RECOMMENDED COURSES:

• B2B: Integrating Custom Objects with Campaign Canvas

• B2B: Advanced Editing and Form Processing

• B2B: Effective Marketing with Custom Objects