0

I'm trying to use a personalization string in an email sent from a Journey Builder Interaction (using a Send Email Activity). I'm aware that this support was added in the November release but I can't get it to work — the value isn't inserted into my email (but the email sends successfully).

My email contains a %%Firstname%% string, my Event Source Data Extension includes a Firstname Attribute and I've created a Firstname profile as per the screenshot below, but the string is not inserted into the email.

profile management

Interestingly enough, if I edit the Subscriber Properties and add a value into the Firstname field, then the personalization string does appear in my email. But I shouldn't need to do this.

subscriber properties

Any ideas how to troubleshoot this?

0

This may be by design, I'm not sure. However I did notify the engineering team of this behavior when an existing contact is used to fire an event. Currently the DE fields are only populated when firing an event with a new contact.

When using a new contact to fire an event, you can pull DE data into your email like:


Lookup("your_de_name","de_field_to_pull_in","de_field_to_match_on",_SubscriberKey))

This can also be used for existing contacts, but the DE field will already need to be populated before the event is fired.

Update: I'm told this is functioning as designed. A workaround would be to use the API in your custom trigger or activity to update the DE before the email is sent.

Update2: Two scenarios, 1: the event is fired with a new contact. In this scenario a DE row will be created and fields will be populated with values sent in the payload:


POST https://www.exacttargetapis.com/interaction-experimental/v1/events
Payload:
{
"ContactKey":"[email]",
"EventDefinitionKey":"[key]",
"Data": {
    "EmailAddress":"[email]",
    "foo":123,
  "FirstName":"Dan"
    }
}

In this scenario, assuming there is a FirstName field on the DE, FirstName will be populated with 'Dan'. The email will be sent with 'Dan' as the FirstName value. Use the lookup() function to pull it into the email.

Scenario 2: A row with Dan's email address already exists in subscribers and the DE. In this case, FirstName in the payload will be ignored. The email is sent and whatever value was in the FirstName DE field will remain, even though a value was included in the payload.

  • Hi Drew, what do you mean when you refer to an existing Contact versus a new Contact? By a new Contact, do you mean a Contact that has not entered the Interaction previously? Or a Contact that is not currently a Subscriber? – Eliot Harper Mar 4 '15 at 21:36
  • 1
    An existing contact is already a subscriber and/or in the DE. A new contact does not exist yet in subscriber and/or DE. I am advocating for the event route to be changed to an upsert, so if additional field values are passed for an existing contact, the DE will be updated. – Drew Simmons Mar 4 '15 at 21:40
  • 1
    OK, so you are referring to existing Contact Records. That makes sense. I still don't understand why this is "as designed" though. Are you saying that if I have two emails in my Interaction with personalization strings, then a new Contact entering the Interaction will see personalization in the first email, but not in the second? – Eliot Harper Mar 4 '15 at 23:00
  • See Update2 in the answer for, hopefully, a clearer explanation. – Drew Simmons Mar 5 '15 at 1:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.