Create email template
1. Select the template you want to change or select "New template".
2. Give this template a meaningful name
For example "Pick up Point pick-up mail NL". This name is visible only to yourself..
3. Send emails based on country code or language code
The options in the dropdown here are dependent on your configuration of your Email template setting in Account Settings (https://my.transsmart.com/dashboard/account/settings). Please observe this setting and its extra information underneath its i-button to understand how this setting works exactly. It is very important to choose the correct setting based on how you book your shipments. If you configure the setting there on Language codes, then the dropdown in the mail template will only contain language codes and vice versa.
If you want to send emails based on the country code in your shipments, place this country code in the name of your template.
Example: GB - Your shipment is on its way. Or: NL - Je bestelling is onderweg.
If your shipment has a country code that does not appear in your templates, our system will automatically choose GB.
4. Sending emails based on mail type
If you want to send mails based on mail type, set the correct value. This is between 0 and 255.
5. Sender of the email.
The sender address can be, for example, noreply@yourcompany.nl or info@yourcompany.nl. Another option is to include the company name in the sender address. You do this by writing the company name and the e-mail address behind it between <>. Example: Company name <info@yourcompany.nl>
This would look like this:
Note: these emails are sent by Transsmart on your behalf. To be able to send the emails Transsmart must be included in the SPF records with include: spf.transsmart.com. If you do not do this, the emails will not arrive or will automatically end up in the spam box.
- Not sure how to edit the SPF records? Your IT administrator can probably arrange this for you.
- Do you want to check if Transsmart has already been included? Then use the tool mxtoolbox, for example.
In the article "Increase delivery reliability of emails with SPF records" you will find more information.
6. The BCC.
We recommend that you place the sender's email address (archive mailbox) in the BCC by default. This way you can be sure that the emails have been sent and what information is contained in them. To place multiple email addresses in the BCC, enter email address 1 followed by a comma and a space: info@company.com, info@company2.com.
7. The subject of the email.
You can use a static topic or a dynamic topic. A dynamic subject contains, for example, the order number or the reference of the shipment.
Example:
- Your order has been shipped!
- Your order has been shipped at "company name".
- Your order Shipment123 has been shipped (in the template code: Your order $additional.get('YOUR_REFERENCE') has been shipped).
- Your order Zending123 is ready to be picked up! (in the template code: Your order $additional.get('YOUR_REFERENCE') is ready to be picked up!).
- Order 123 has been shipped by us today (in the template code: Order $additional.get('CUSTOMERORDER') has been shipped by us today.
- You can also retrieve shipment data here to show it in the subject. You have to use a foreach loop for this to work. For example:
#foreach($!item in $!shipments)Trace your $!item.ccl.get('CARRIERLONGNAME') shipment from «$!item.adr.get('SEND').get('adr_name')» #end
8. The email itself: the body.
There are several options and variable fields that you can use in the body.
-
The body of your email must be formatted in HTML.
You can use the current versions of HTML and CSS.
-
Images must be publicly available via a URL.
Example http://www.company.com/image1.jpg. It doesn't matter what format you use. It's not possible to store images on our server. Make sure that you implement a .jpg image extension as other file extensions may not show up in the Outlook/mail clients of your customers.
- Inline-css should be used.
-
Own HTML.
It is possible to use your own HTML. Go to the editor, click on the three dots and then choose the <> code view symbol. Paste your HTML code here and you're done!
Please check the solution of the Usage of HTML code for tables with Transsmart variables to correctly implement the Transsmart shipment variables in the HTML code.
8.1 Use of variable fields.
Within our system there are various types of tables that you can use. You can select and insert them directly from the editor within MyTranssmart.
Click on the right top on the three dots, there you can find:
Shipping information: for example, the variables cost centre, carrier, instructions, track&trace url and number of parcels.
References: for example, the variables order number, your reference, project number, etc.
Package information: e.g. the variables HS-code, country of origin, description, number of pieces, etc. Note; only available for references on shipment level.
Addresses: this contains all the address fields of the shipping, receipt, invoice and third party addresses.
Salutation: this contains the fields contact person of the sender, receiver, invoice and third party.
Importantly, a #foreach ($!Item in $!Shipments) and a #end are required. This is to make a so-called loop and to ensure that the information from the shipment is used.
Pay particular attention to the information from the delivery note lines because an extra loop is needed here, namely: #foreach ($!Delnote in $!Item.delivery). This would therefore need to be implemented like this:
#foreach($!item in $!shipments)#foreach($!delnote in $!item.delivery)
the respective $!delnote.get('x') tags that you want to retrieve from the booking
#end
These tags are automatically added to the variables when adding them in your template via the buttons in the editor. At the bottom of this article you can find all possible variables.
8.2 Track-and-trace URL behind an image or text
It has been made easy in the editor to place the track-and-trace URL behind an image or certain text.
Track-and-trace URL behind an image:
- Add the image to your e-mail.
- Click on the image and choose 'Insert link'.
- Click on the magnifying glass at the top and choose Track & trace URL.
- Optionally you can choose whether the URL should be opened in a separate tab.
- Click Update and the changes are saved.
Track-and-trace URL behind text:
- Select the text after which you want to paste the track-and-trace URL
- Click on 'Insert link' at the top of the editor
- Click on the magnifying glass at the top and choose Track & trace URL.
- Change the text in the text that you want to make clickable in the e-mail.
- Optionally, you can choose whether the URL should be opened in a separate tab.
- Click on Update and the changes are saved.
8.3 Example email
Hi!
#foreach ($!item in $!shipments)
Your order with reference $!item.additional.get('YOUR_REFERENCE') has been shipped by us today to:
$!item.adr.get('RECV').get('adr_name')
$!item.adr.get('RECV').get('adr_contact')
$!item.adr.get('RECV').get('adr_street1') $!item.adr.get('RECV').get('adr_houseno')
$!item.adr.get('RECV').get('adr_zip')
$!item.adr.get('RECV').get('adr_city')
$!item.adr.get('RECV').get('adr_country')
You can track the status of your shipment via $!item.shipment.get('shr_tt_url')
#end
Greetings, Company name
8.4 Additional options for your email
Personalized salutation:
#foreach ($!item in $!shipments)
Dear $!item.adr.get('RECV').get('adr_contact')
#end
Indicate with which carrier the shipment will be sent:
#foreach ($!item in $!shipments)
Your order will be sent by $!item.ccl.get('CARRIERLONGNAME')
#end
Shipment information:
#foreach ($!item in $!shipments)
Shipment weight: $!item.shipment.get('shr_weight')
Number of packages: $!item.shipment.get('shr_colli')
#end
This delivery contains the following items:
Article number |
Description |
Number |
#foreach($!delnote in $!item.delivery) |
||
$!delnote.get('dnl_article_id') |
$!delnote.get('dnl_description') |
$!delnote.get('dnl_quantity') |
#end |
9. Testing the Email
Is your email satisfactory? Then you can now test the email to see how this will be sent to customers.
- Save your changes
- Click ‘Send a test mail’.
- Enter the email address where you want to receive the test email.
- You can add a reference of one of your shipments, so you can immediately see whether all variable fields are correctly filled.
10. Duplicate template
Are you completely satisfied with your template? You can duplicate it so that you can easily reuse it for a different language version or with data from one of your other companies / brands.
- Click "Duplicate template"
- Give your template a new name and save it.
- You can then edit this duplicated template as desired.
11. All available variables
Below are the variable fields grouped per category:
Shipment Information
#foreach($!item in $!shipments)
Weight unit of measurement: $!item.shipment.get('shr_weight_uom')
Weight of shipment: $!item.shipment.get('shr_weight')
Value of shipment: $!item.shipment.get('shr_value')
Value currency: $!item.shipment.get('shr_value_currency')
Track en trace URL: $!item.shipment.get('shr_tt_url')
Requested delivery time to: $!item.shipment.get('shr_delivery_req_time_to')
Requested delivery time: $!item.shipment.get('shr_delivery_req_time')
Requested delivery date: $!item.shipment.get('shr_delivery_req_date')
Pickup time to: $!item.shipment.get('shr_pickup_time_to')
Pickup time: $!item.shipment.get('shr_pickup_time')
Pickup date: $!item.shipment.get('shr_pickup_date')
Load meters shipment: $!item.shipment.get('shr_loadmeter')
Load meters calculated: $!item.shipment.get('shr_loadmeter_calculated')
Instruction: $!item.shipment.get('shr_instruct')
Incoterm: $!item.shipment.get('shr_incoterms')
Description: $!item.shipment.get('shr_descr')
Carrier name: $!item.ccl.get('CARRIERLONGNAME')
Amount of packages: $!item.shipment.get('shr_colli')
Cost center: $!item.shipment.get('shr_costcenter')
#end
References
#foreach($!item in $!shipments)
Your reference: $!item.additional.get('YOUR_REFERENCE')
Shipment reference: $!item.shipment.get('shr_reference')
Service point: $!item.additional.get('SERVICEPOINT')
Route ID: $!item.additional.get('ROUTE_ID')
Project: $!item.additional.get('PROJECT')
Other: $!item.additional.get('OTHER')
Order number: $!item.additional.get('ORDER')
Location: $!item.additional.get('LOCATION')
Engineer: $!item.additional.get('ENGINEER')
Driver ID: $!item.additional.get('DRIVER_ID')
Delivery note: $!item.additional.get('DELIVERYNOTE')
Delivery ID: $!item.additional.get('DELIVERYID')
Customer order number: $!item.additional.get('CUSTOMERORDER')
Consolidation reference: $!item.additional.get('CONSOLIDATION_REF')
Agent reference: $!item.additional.get('AGENTREFERENCE')
Invoice: $!item.additional.get('INVOICE')
#end
Delivery note information
#foreach($!item in $!shipments) #foreach($!delnote in $!item.delivery)
Quantity unit of measurement: $!delnote.get('dnl_quantity_uom')
Quantity price currency: $!delnote.get('dnl_currency')
Quantity price: $!delnote.get('dnl_price')
Quantity order: $!delnote.get('dnl_quantity_order')
Quantity backorder: $!delnote.get('dnl_quantity_backorder')
Quantity: $!delnote.get('dnl_quantity')
Description: $!delnote.get('dnl_description')
Country of origin: $!delnote.get('dnl_country_origin')
Article serial number: $!delnote.get('dnl_serial_no')
Article ID: $!delnote.get('dnl_article_id')
Article HS code: $!delnote.get('dnl_hscode')
#end #end
Addresses
#foreach($!item in $!shipments)
Third party address zip code: $!item.adr.get('3PTY').get('adr_zip')
Third party address street 3: $!item.adr.get('3PTY').get('adr_street3')
Third party address street 2: $!item.adr.get('3PTY').get('adr_street2')
Third party address street and house number: $!item.adr.get('3PTY').get('adr_street1') $!item.adr.get('3PTY').get('adr_houseno')
Third party address name: $!item.adr.get('3PTY').get('adr_name')
Third party address country: $!item.adr.get('3PTY').get('adr_country')
Third Party Address Contact: $!item.adr.get('3PTY').get('adr_contact')
Third party address city: $!item.adr.get('3PTY').get('adr_city')
Sender address zip code: $!item.adr.get('SEND').get('adr_zip')
Sender address street 3: $!item.adr.get('SEND').get('adr_street3')
Sender address street 2: $!item.adr.get('SEND').get('adr_street2')
Sender address street and house number: $!item.adr.get('SEND').get('adr_street1') $!item.adr.get('SEND').get('adr_houseno')
Sender address name: $!item.adr.get('SEND').get('adr_name')
Sender address country: $!item.adr.get('SEND').get('adr_country')
Sender Address Contact: $!item.adr.get('SEND').get('adr_contact')
Sender address city: $!item.adr.get('SEND').get('adr_city')
Receiver address zip code: $!item.adr.get('RECV').get('adr_zip')
Receiver address street 3: $!item.adr.get('RECV').get('adr_street3')
Receiver address street 2: $!item.adr.get('RECV').get('adr_street2')
Receiver address street and house number: $!item.adr.get('RECV').get('adr_street1') $!item.adr.get('RECV').get('adr_houseno')
Receiver address name: $!item.adr.get('RECV').get('adr_name')
Receiver address country: $!item.adr.get('RECV').get('adr_country')
Receiver Address Contact: $!item.adr.get('RECV').get('adr_contact')
Receiver address city: $!item.adr.get('RECV').get('adr_city')
Invoice address zip code: $!item.adr.get('INVC').get('adr_zip')
Invoice address street 3: $!item.adr.get('INVC').get('adr_street3')
Invoice address street 2: $!item.adr.get('INVC').get('adr_street2')
Invoice address street and house number: $!item.adr.get('INVC').get('adr_street1') $!item.adr.get('INVC').get('adr_houseno')
Invoice address name: $!item.adr.get('INVC').get('adr_name')
Invoice address country: $!item.adr.get('INVC').get('adr_country')
Invoice Address Contact: $!item.adr.get('INVC').get('adr_contact')
Invoice address city: $!item.adr.get('INVC').get('adr_city')
#end
Salutation
#foreach($!item in $!shipments)
Third Party Address Contact: $!item.adr.get('3PTY').get('adr_contact')
Sender Address Contact: $!item.adr.get('SEND').get('adr_contact')
Receiver Address Contact: $!item.adr.get('RECV').get('adr_contact')
Invoice Address Contact: $!item.adr.get('INVC').get('adr_contact')
#end