Add Transaction Event

Oracle Marketing Cloud - Eloqua
Transactional Email App Feature

To send a transactional email using the Transaction Email app for Eloqua, you first need to set up and enable a transactional event including:

  • Specifying an Eloqua email to be used
  • Selecting an API authentication method
  • Provide sample JSON that will be received from the external system
  • Specify fields that should be used to personalized content and/or update an Eloqua Contact
  • Test your configuration

To add a new transactional event, navigate to the Settings area ( icon) and click on Apps under the Settings menu in the Platform Extensions section. Open the Transactional Email app and click on the Configure icon (). You may need to log in using your Relationship One AppCloud credentials.


Step 1: Add a Transactional Event

Under the Transactional Events section, click the +Add button to add a new event.


Give your event a name and search for the Eloqua email asset that should be used when sending a transactional email message.


Step 2: Select a Security Method

Data can be sent from an external system (e.g., commerce platform, CRM, etc.) using either a secure webhook or an API endpoint using basic authentication.

For a webhook, a unique event endpoint will be generated as well as a security token required to configure your external system. You can use this system-generated token or replace it with your own if one is provided by your external system.


Alternatively, select Basic Authentication to set up a REST API call from your external system. You will need to provide a username and password. Click the Get Event Endpoint button to generate an event-specific endpoint. You can update the Username and Password values as long as the transaction event is disabled.


Step 3: Provide Sample JSON

You will need to provide a sample of the JSON that will be sent via the Webhook or REST API call. For example, an order confirmation JSON might look like:

  "id": 1090,
  "parent_id": 0,
  "number": "1090",
  "order_key": "wc_order_n3FybzySEvpxh",
  "created_via": "checkout",
  "version": "4.7.0",
  "status": "processing",
  "currency": "USD",
  "date_created": "2021-07-06T01:41:20",
  "date_created_gmt": "2021-07-06T01:41:20",
  "date_modified": "2021-07-06T01:41:21",
  "date_modified_gmt": "2021-07-06T01:41:21",
  "discount_total": "0.00",
  "discount_tax": "0.00",
  "shipping_total": "0.00",
  "shipping_tax": "0.00",
  "cart_tax": "0.00",
  "total": "91.45",
  "total_tax": "0.00",
  "prices_include_tax": false,
  "customer_note": "",
  "billing": {
    "first_name": "Tx",
    "last_name": "Demo",
    "company": "",
    "address_1": "333 N Washington Ave",
    "address_2": "Suite 300",
    "city": "Minneapolis",
    "state": "MN",
    "postcode": "55401",
    "country": "US",
    "email": "[email protected]",
    "phone": "7633551025"

Paste your sample JSON into the JSON Template editor.


The app will automatically generate a schema from your JSON sample which will be used for field mapping. You can always update your JSON sample, and resulting schema, by pasting a new version.


Step 4: Field Mapping

Next, you will need to set up the field mapping from an incoming transaction event message (JSON content) that should be used when sending a transactional email message. Click the Add button to add a new mapping.

At a minimum, you must specify the email address within your mapping settings including a name for the parameter (e.g., Email, Email address, etc.), the JSON parameter that contains the email address, the data type (which should default to Text) and the Eloqua Contact field (e.g., EmailAddress).


You will need to specify any additional parameters that you would like to use for email personalization using the Transactional Email Cloud Content tool including providing a Parameter Name, selecting the desired JSON Parameter, and specifying the field Data Type. Optionally, for each parameter, you can specify a mapped Eloqua Contact field that should be updated with transactional data.


If your data includes an array of values (for example, an Order Confirmation JSON message may include the list of order line items including product name, product quantity, product price) you will see an array symbol [] within the Transaction Parameter (JSON) dropdown. When mapping array values to an Eloqua Contact field, array values will be separated by a :: (double-colon) delimiter. Values will be truncated if they are longer than the Eloqua field data type length:

  • Data Type Text and Field Type Textbox: 100 characters
  • Data Type Text and Field Type Picklist: 100 characters
  • Data Type Text and Field Type Multi-Select Picklist: 1000 characters
  • Data Type Large Text and Field Type Textbox: 32000 characters
  • Data Type Numeric and Field Type Textbox: 19 characters

Click the Add button to add additional parameter mappings. Click the trashcan () icon to remove a mapping. Click the Reset button to remove all your parameter mappings.

Step 5: Dynamic Links

Optionally, dynamic links that can be used within Email Cloud Content can be created using non-array mapped parameters specified in the Field Mapping. To create a new dynamic link, click the +Add button.


Use the editor to type in your protocol (https:// or http://) and base URL, then drag and drop field merges to fill in any path variables or query parameters. Click on the pencil () icon to edit a link. Click on the trashcan () icon to remove a link.


Step 6: Event Status Callback

Optionally, status callbacks can be configured for failed or both failed and successful events. First, select the preferred security method and associated credentials similar to step 2.

Next, select an event status to determine for which types of events you wish to receive a status callback (Testing Mode and Enbabled, Enabled Only, or Testing Only).


Next, select to receive callbacks for Failed Events Only or both Failed and Successful Events.


Finally, select any mapped parameters to be included in the event status callback.


Step 7: Enable Transactional Event

To enable your transactional event, click the Enabled toggle.


Click the Save button to save your configuration. Once saved, your event will be enabled to receive transactional calls until you disabled it or put it in Test Mode.

Testing Mode

Enable Event Testing and specify a testing email address to test your event confirmation. NOTE, enabling Event Testing will automatically disable the app if it was set as Enabled.


When Event Testing is enabled, any transaction event sent to the event endpoint will result in an email being sent to the specified testing email address regardless of the email provided in the JSON message. If an Eloqua Contact does not exist for the testing email address, a new one will be created. Any Eloqua Contact fields specified in the optional field mapping (e.g., First Name, Last Name, etc.) will be updated.

Transaction Event Log

When a Transaction Event is enabled or in Testing mode, a log of all events is captured and available by clicking on the chart icon.


Mouse over the Request Body column to view more of the transaction request. Click on a request to view the entire request message. You can copy the message by clicking the copy () icon.