Email Template Variable Rendering Issue
Dynamic Content Appearing at Bottom of Email Instead of Inline Position
Root Cause: Incorrect Variable Symbol ( # ) used instead of ( ^ ) in Template Source
Ticket: #25589 | Client: Ameren
Important: Scope of This Article
This issue is NOT limited to Type: MAINTENANCE / Subtype: PHONE_MODIFIED only. It can occur with ANY template Type and Subtype, depending on how the customer's template source has been saved in the SEP portal. The Type and Subtype in this article are used only as a reference example based on the reported ticket. Whenever a customer reports that variables or dynamic content are not rendering correctly in their email, always check the variable symbols in the template source as the first step of investigation.
Portal URLs - Quick Reference
SEP Portal (Report Dashboard): https://amrn-rp.mbdt01.com/templates/list/
Ameren EONS2 Portal: https://amereneons.mbdt01.com/dashboard/campaigns
1. Issue Summary
The customer reported that their Production email template was showing variable content (phone numbers) at the bottom of the email body instead of rendering inline after the colon (:) where the variable placeholder is defined. The issue was visible across multiple email clients and also in the CRM message history PDF preview, confirming it was not a client-side rendering problem.
Template details for this reported ticket (for reference only):
- Type: MAINTENANCE
- Subtype: PHONE_MODIFIED
- Channel: Email | Environment: Production | Company: Illinois
Note
The above Type and Subtype are specific to this reported ticket. This same issue can occur in any other template. Always check the variable symbols in the template source whenever dynamic content is not rendering in the correct position.
What the email should look like (CORRECT):
[ Correct rendering - phone numbers appear inline after the colon ]
What the email was actually showing (INCORRECT):
[ Incorrect rendering in Outlook - phone numbers pushed to the bottom of the email ]
[ Incorrect rendering on Mobile - phone numbers pushed to the bottom of the email ]
2. Root Cause
The template stored in the SEP portal was using the hash ( # ) symbol to wrap variable placeholders instead of the required caret ( ^ ) symbol. EONS only recognizes variables enclosed in caret ( ^ ) symbols. When hash ( # ) is used, the variables are not parsed correctly and the content is pushed to the bottom of the rendered email.
Incorrect: #PhoneNumberActionText# and #PhoneNumberList#
Correct: ^PhoneNumberActionText^ and ^PhoneNumberList^
Key Rule - Applies to ALL Templates
EONS requires ALL variables to be wrapped in caret ( ^ ) symbols - e.g., ^VariableName^. Using hash ( # ) symbols causes variables to not be recognized and dynamic content will render in the wrong position in the final email. This applies to every template regardless of Type or Subtype.
3. Email Clients Where Issue Was Observed
- Yahoo Mail
- Gmail (Mobile App)
- Apple Mail
- Outlook Mobile
- CRM Message History (PDF version of sent email)
Note
Outlook Desktop may display the email correctly in some cases, but the root cause is still in the template source. The fix must always be applied at the template level.
4. Investigation Steps
The following steps were used to investigate and confirm the root cause. These same steps can be applied for any Type and Subtype whenever a similar issue is reported.
STEP 1 - Locate the Template in SEP Portal
- Log in to the SEP portal (Report Dashboard):
URL: https://amrn-rp.mbdt01.com/templates/list/
2.In the left-hand menu, click Script Management, then click Script Templates.
[ Navigate to Script Management > Script Templates in the left menu ]
3.Use the Type filter to select the Type reported by the customer (example: MAINTENANCE). This filters the list to show only matching templates.
[ Type filter set to MAINTENANCE - use the Type value reported by the customer ]
4.Find the row matching the Subtype reported by the customer (example: PHONE_MODIFIED). Click the pencil (edit) icon in the Actions column.
[ Locate the correct Subtype row and click the pencil icon in the Actions column ]
5.The Script History page will open. Under the Active section, click the pencil icon to open the Email Editor.
[ Script History page - click the pencil icon under Active to open the Email Editor ]
6. The Email Editor will open. Scroll down to review the template and check whether variables are using hash ( # ) or caret ( ^ ) symbols.
[ Email Editor showing #PhoneNumberActionText# - incorrect hash (#) symbols used instead of caret (^) ]
STEP 2 - Prepare a Test Dataset (CSV File)
To test the template in EONS, you need a CSV dataset file that matches the variable names used in the customer's template. Column names will vary depending on the template variables.
Tip: Reuse an Existing Dataset File from EONS2
Instead of creating a new CSV file from scratch, it is recommended to download an existing dataset file already available in the EONS2 portal (Data > View Datasets). Pick a file that closely matches the structure required, download it, and then modify the column names and data to match the current template requirements. This saves time and reduces the chance of errors in column mapping.
7. Go to Data > View Datasets in the EONS2 portal. Find an existing dataset that is similar in structure to the customer's template variables and download it.
8. Open the downloaded file and update the columns and values to match the variable names found in the customer's template. Example columns for this ticket:
- Device Type
- Device (test email address)
- PhoneNumberActionText
- PhoneNumberList
- PrimaryEmailAddress
- acctNum
- Current Year
9. Update the data values to match your test scenario and save the file in .csv format.
[ Modified CSV file - columns updated to match the variable names found in the customer's template ]
STEP 3 - Upload the Test Dataset in EONS
10. Log in to the Ameren EONS2 portal:
URL: https://amereneons.mbdt01.com/dashboard/campaigns
11. In the left-hand menu, expand the Data section and click Upload Dataset.
[ EONS - expand Data menu and click Upload Dataset ]
12. Step 1 - Basic Information: Enter a Dataset Name (e.g. Test Ameren), set Permission Level, then click Next.
[ Step 1 - Enter dataset name and permission level, then click Next ]
13. Step 2 - Upload your data: Drag and drop your CSV file or click 'Click Here' to upload. Confirm the filename appears, then click Next.
[ Step 2 - Upload the CSV file, confirm it appears on the right, then click Next ]
14. Step 3 - Map your data: Match each CSV column to the correct dataset column type, then click Next.
[ Step 3 - Map each CSV column to its corresponding dataset column ]
15. Step 4 - Confirm Details: Review the summary of all mapped columns and click Finish.
[ Step 4 - Review summary and click Finish to create the dataset ]
16. Go to Data > View Datasets to confirm the dataset was created successfully.
[ View Datasets - new dataset showing with status Created ]
STEP 4 - Create a Test Ad Hoc Campaign in EONS
17. In the left-hand menu, expand Campaigns and click Create Ad Hoc Campaign.
[ Campaigns > Create Ad Hoc Campaign in the left menu ]
18. Step 1 - Basic Information: Fill in the following fields and click Next:
- Campaign Name: Test Ameren (or any test name)
- Select Folder: Do not put in sub-folder
- Select Dataset: Choose the dataset just uploaded
- Billing Division: Illinois
- Permissions: Private
- Message Types: Email
[ Campaign Step 1 - fill in all required fields and click Next ]
STEP 5 - Paste the Customer Template & Identify the Issue
19. Proceed to Step 2C - Email Config. Select 'IL - Ad Hoc Template' from the Template dropdown. Then click the Source button in the editor toolbar.
[ Step 2C Email Config - select the template and click the Source button ]
20. In HTML source view, select all existing content and replace it by pasting the customer's template HTML copied from the SEP portal Email Editor.
[ HTML source view - paste the customer's template source code here ]
21. After pasting, check the Variables Identified section below the editor. It will show 'No variables found' - confirming EONS cannot detect the variables because hash (#) symbols are used.
[ No variables found - EONS cannot detect variables because # symbols are used instead of ^ ]
STEP 6 - Confirm the Root Cause ( # vs ^ )
22. Click the Source button again to return to HTML editing mode.
23. In the HTML source, locate all variable placeholders using hash (#) symbols. Replace them with caret (^) symbols on both sides:
INCORRECT: #PhoneNumberActionText# and #PhoneNumberList#
CORRECT: ^PhoneNumberActionText^ and ^PhoneNumberList^
24. After replacing all # with ^, the Variables Identified section will now correctly show all detected variables In EONS2.
[ After replacing # with ^ - all variables now correctly detected by EONS ]
25.Fill in the Email Subject and confirm the Sender Information.
[ Email subject and sender info filled in - all variables showing correctly ]
STEP 7 - Map Variables & Send Test Email to Confirm
26. Proceed to Step 3 - Map Variables. For each variable, select the matching column from the uploaded dataset.
[ Step 3 Map Variables - map each variable to its corresponding dataset column ]
27.Preview the email in EONS2 to confirm the template renders correctly with content in the correct inline position.
[ EONS email preview - phone numbers now displaying correctly inline ]
28. Send a sample test email and verify the rendering in actual email clients.
Test result - Outlook:
[ Test email in Outlook - phone numbers displaying correctly in the right position ]
Test result - Gmail:
[ Test email in Gmail - phone numbers displaying correctly in the right position ]
Root cause confirmed - replacing # with ^ in the template source resolves the rendering issue across all tested email clients.
Important Note
This test was performed in our QA environment ONLY to identify and confirm the root cause. NO changes have been made to the Production template. The Support team has informed the Engineering team and the Technical Account Manager (Eric). Please coordinate with TAM (Eric) and Engineering before reaching out to the customer.
5. Findings Summary
The root cause of the issue is the use of hash ( # ) symbols instead of caret ( ^ ) symbols in the variable placeholders within the template source. EONS requires caret ( ^ ) symbols to recognize and render variables correctly. This was confirmed by replacing the symbols in a test environment - the email rendered correctly after the change.
Key Finding - Applies to ALL Templates
If a customer reports that dynamic content is not appearing in the correct position in their email, always check the template source in the SEP portal first. Look for variables using hash (#) symbols and confirm they should be using caret (^) symbols. This issue can occur in any template regardless of Type or Subtype.
No Fix Applied From Support Side
The Support team has only identified and confirmed the root cause. No changes have been made to the Production template. Findings have been shared with the Engineering team and Technical Account Manager (Eric). Before reaching out to the customer with a resolution, please confirm the fix with TAM (Eric) and Engineering first.
6. Next Steps
- Engineering team and Technical Account Manager (Eric) to review the findings and coordinate the fix for the Production template.
- Verify that the Production template source is updated to use caret ( ^ ) symbols for all variable placeholders (not hash #).
- Re-test with a sample email after the Production template is updated to confirm the fix works end-to-end.
- Only after confirmation from Engineering and TAM, reach out to the customer with the resolution.
7. Article Information
Ticket Reference: #25589
Client: Ameren
SEP Portal: https://amrn-rp.mbdt01.com/templates/list/
EONS2 Portal: https://amereneons.mbdt01.com/dashboard/campaigns
Comments
0 comments
Please sign in to leave a comment.