First steps
User Data
- Responsive Email Editor Review
- Designing your email
- Creating Synchronized Modules
- Setting Up Responsive Email Design
- Setting Up Smart Containers
- Creating a Gmail Promotions Annotation
- Adding The Rollover Effect
- Adding Anchor Links
- Module Library
- Adding a Table to an Email
- Adding Custom Fonts
- Creating CTA Button
- Working with Images
- Creating Timer
- Using AI in the Email Editor
- Messenger Protocol Support in Email Clients and Platforms
Omnichannel
- Setting Up Widgets for Your Site
- Widgets Gamification
- Widget Calling
- Setting Up Locations for the Widget Calling Rules
- Storing data from widgets to contact fields
- Using Annoyance Safeguard
- Actions After Form Submission
- Replacing Double Opt-In System Workflow
- Creating Pop-ups via Google Tag Manager or WordPress
- Sending Yespo Widget Events to Google Analytics
- Using A/B Tests for Widgets
- Collecting Contact Information Using Request Forms
Automation
- Building and Editing Workflows
- Configuring Workflow Start/Stop Conditions
- Start Block
- Popular Blocks
- Message Blocks
- Using One from Many Message Block
- Contact Blocks
- Conditions Blocks
- Other Blocks
- Message to Segment Blocks
- Time Blocks
- Advanced Workflow Block Parameters
- Setting Up Allowed Send Time
- Using Workflow Launch History
- Webhook Workflows
- Workflow Troubleshooting
- Double Opt-In
- Welcome Сampaign
- Welcome Series Segmented by Category
- Launching a Workflow After a Contact Import
- Regular Workflow for a Segment
- Birthday Campaign
- Linking Workflow to the Button
- Using Variables from Order in Workflow
- Collecting Order Feedback
- Customer Reactivation
- Sending Extra Campaigns
- Sending Reminders at the Time Specified by the User
- Sending Campaign to Those Who Did Not Open the Previous One
- Using A/B Tests In Workflows
Personalization
Analytics
- Email Campaign Report
- Web Push Campaign Report
- Viber Campaign Report
- Mobile Push Campaign Report
- App Inbox Campaign Report
- Telegram Campaign Report
- In-App Report
- Widget Report
- Triggered Campaign Report
- AMP Campaign Report
- SMS Campaign Report
- Multilingual Campaign Report
- Setting up UTM Tags
- Revenue from Campaigns
- Tracking Campaign Performance in Google Analytics 4
- Message Analytics
Multilanguage Campaigns
Events and Behaviour Tracking
Recommendations
API
Security and Compliance
Using Variables from Order in Workflow
Let's look at using variables from an order event in a transactional workflow, for example, Order delivered. Correctly writing variables is necessary for the workflow to work without errors and for all the required parameters to be inserted into the message content.
Main Steps for Preparing Transactional Campaigns
Preparing any workflow that sends messages with information about user data, delivery address, order number, etc., includes the following steps:
- transferring of order data via API (you can use Add orders or Generate event API resources);
- preparing an email with dynamic content;
- setting up a workflow for sending the email.
We will look at transferring orders using the Add orders API resource. You can find out more about its use in this manual.
Transferring Order Data
The request contains one or more orders with mandatory and optional fields.
Required fields for the orders array:
- ExternalOrderId,
- ExternalCustomerId,
- TotalCost,
- Status,
- Date,
- Email or Phone
Required fields for the items array:
- ExternalItemId,
- Name,
- Quantity,
- Cost,
- Url,
- ImageUrl
Also, several important order statuses display the sales funnel:
- A created order usually has the INITIALIZED status.
- An order in the delivery process is displayed with the IN_PROGRESS status.
- For paid and delivered orders, the DELIVERED status is used.
- For canceled – CANCELLED.
Such a differentiation is necessary primarily to understand precisely what stage the customer is at, and not send delivery messages to those who canceled or just created the order.
Creating Events
Every time you pass order data via the API, corresponding events are created in the system, which you can later use as a condition that launches a triggered workflow.
The names of transactional events consist of the word order and the status added to it, for example, orderDELIVERED. You can see them in the Triggers → Event history section in the Yespo system.
Each event has a unique key. For order events, these are order identifiers, which are passed in the externalOrderId parameter.
Note
The extrenalCustomerId and ContactId parameters are matched when the order is first submitted. Accordingly, in subsequent orders, even if you specify the email of a new contact in the body of the order, but the extrenalCustomerId will belong to a contact that is already in the system, the order will be assigned to the contact with whom the initial matching took place.
For example, order events include the following standard variables:
- ${eventKey} – order unique key, contains the externalOrderId field value.
- ${orderId} – order ID in the Yespo database. The parameter is needed for the workflow’s functioning.
- ${contactId} – contact ID in Yespo.
- ${EmailAddress} – customer’s email address (if provided in the order).
- ${SMS} – customer’s phone number (if provided in the order).
Using Event Parameters in Workflow
Write event parameters in workflows precisely in the form they are transmitted in events. If the standard EmailAddress parameter is passed in an order event, the variable in the email input field in the workflow should also be called EmailAddress. Other formats like email or EmaiL will not work in the workflow.
For users' convenience, system events (generated by a subscribe request or a regular workflow) have some standard parameters, so such workflow blocks usually work by default, even without manually specifying variables. However, if you change the event for launching the workflow to something other than the standard one, the workflow will not run by default. The Yespo team recommends manually specifying variables in the workflow to avoid errors.