Troubleshoot blank personalization fields

If a personalized field renders blank in a delivered email but the data exists in Simon, the issue is almost always with how the value is being referenced or with the contact not having a value at send time. Walk through this checklist before filing a ticket.

1. Verify the template variable path

Jinja renders {{ contact.missing_field }} as an empty string if the field path doesn't exist — there's no error, the field just renders blank. Confirm:

  • The field path in the template matches the dataset field name exactly, including case and underscores
  • The field is on the object you're referencing — for example, contact.first_name vs. order.first_name
  • There are no typos (firstname vs. first_name)

2. Verify the contact has a value at send time

A correctly referenced field still renders blank if the specific contact doesn't have a value. Check:

  • Look up the contact in the Unified Contact View and confirm the field has a value
  • Confirm the dataset that provides the field refreshed before the send
  • If the field is derived from a recent event, confirm the event was ingested before the send window

3. Add a default fallback

Defensive templates render a sensible default instead of a blank. Use the default filter:

Hi {{ contact.first_name | default("there") }}!

This renders "Hi there!" when first_name is undefined or empty, instead of "Hi !".

4. Preview with the affected contact

Use the Jinja preview against the specific contact who received the blank email (not a generic test contact). The preview reflects the current contact state — if the preview renders blank, the data wasn't available for that contact at send time.

5. Check for dataset field changes since the send

If the dataset field was renamed, restructured, or its source changed between send time and now, the current value in the Unified Contact View may not reflect what was available to the template at send. Compare the dataset field's change history against the send timestamp.

When to escalate

If all five checks pass — the field path is correct, the contact had a value at send time, the preview renders correctly, and no recent field changes explain the discrepancy — contact Simon Support with the contact ID, flow ID, template snippet, and send timestamp.