Order receipt

  • Updated
If you had access to campaigns prior to April 2023, Optimizely updated the tab name from Campaigns to Activation. All functionality remains the same.

An Order Receipt campaign engages individual customers and completes a transaction or process the customer has started with you.


When a customer makes a purchase, they trust that you will charge them correctly and deliver it. Providing your customers with a clear and timely record of the transaction strengthens that trust.

This campaign type requires transactional email, an optional platform add-on. If you are interested in the functionality, please contact your Customer Success Manager for details.

Configure the campaign

If you are using one of our out-of-the-box e-commerce integrations, you can generate an order receipt campaign and its associated content with a recipe. If you are not utilizing one of the out-of-the-box solutions, you must create the order receipt campaign from scratch

Use a recipe

  1. Go to Activation > Engage > Create New Campaign.
  2. Select Transactional.
  3. Select Order Receipt if integrated with a compatible third-party app.
  4. Configure the campaign's Enrollment settings and touchpoints. You must customize the touchpoint, including design, content, and sender profile.
  5. Save the changes and Go Live when ready.

Create from scratch

An order receipt campaign is an event-triggered campaign that goes out after an order event. Every account should have an Order Receipt Trigger filter by default; however, you can manually create it if unavailable.

  1. Click the three-dot icon next to Activation.
  2. Select Filters > Create New Filter.
  3. Provide a name for the filter.
  4. Add the desired event-based rules. You can view the default filter used by the Optimizely Data Platform (ODP) recipe below.
  5. Click Save.

Create the order receipt campaign from scratch once the filter is available:

  1. Go to Activation > Engage > Create New Campaign.
  2. Select Transactional.
  3. Under Enrollment, select the Order Receipt filter.Enrollment_triggers.png
  4. Click the existing touchpoint to create the campaign's content. Include your brand's header and footer.Add_header_and_footer.gif
  5. Add a dynamic grid to the email body. Select Convert to Liquid and input item as the variable and order_data.items as the array reference. You can customize the grid's layout after its placement.Dynamic_grid_example.gif
  6. Include the liquid personalization tags outlined below. These elements populate with additional customer and order information.
Any item labeled Custom Liquid will require that you select the tag icon followed by Convert to Liquid. Additionally, the Liquid examples are referencing standard event fields. If you are referencing custom fields, you must update these accordingly. Additional information on leveraging the Liquid templating language can be found here.


# Purpose Liquid
 1  Includes the order name.  {{ order_data.order_name }}
 2 Includes the customer's name. N/A - A default First Name customer tag.  
3 The dynamic grid displays the products.
Placement is reviewed above. 
4 Includes the product image.
{{ item.product.image_url }} as the URL. 
5 Includes the product name. {{ item.product.name }}  
 6 Includes the product price.
{% if item.item_subtotal != blank %}${{ '%0.2f' | format: item.item_subtotal }}{% else %}{% endif %}
 7 Includes the order subtotal.
{% if order_data.order_subtotal != blank %}${{ '%0.2f' | format: order_data.order_subtotal }}{% else %}{% endif %}
 8 Includes applicable shipping costs.
{% if order_data.order_shipping != blank %}${{ '%0.2f' | format: order_data.order_shipping }}{% else %}{% endif %} 
9 Includes applicable discounts.
{% if order_data.order_discount != blank %}${{ '%0.2f' | format: order_data.order_discount }}{% else %}{% endif %}
10 Includes applicable taxes.
{% if order_data.order_tax != blank %}${{ '%0.2f' | format: order_data.order_tax }}{% else %}{% endif %}
11 Includes the order total.
{% if order_data.order_total != blank %}${{ '%0.2f' | format: order_data.order_total }}{% else %}{% endif %}

Locate the Variables section. Add a variable with order_var as the name and {% assign order_data = event.event_order_data | unescape | json_parse %} as the associated value. 


  1. Click Save.
  2. Preview and test the campaign to ensure it meets your expectations.
  3. Go Live when the campaign is ready.

Preview and test the campaign

The preview function allows you to review the touchpoint on-screen, while the test function allows you to send a test through the touchpoint channel. You can view both options within the editor.


Go Live

  1. Select the campaign's name from the breadcrumb menu.
  2. Click Save to ensure all touchpoints are up-to-date.
  3. Click Go Live.