I always was under the impression that we can use column names as %%Column name%% inside an AMP script, if the column is part of the data extension(containing subscriber key) we have chosen as target audience choose has that column.

However to my surprise recently, there was an email send using a DE which only had subscriber key in it and no other columns. Yet AMP rendered %%Greeting%% in the emails.

So I am assuming that attributes associated to subscriber key in the All subscribers list are also always available.

This may be a stupid question, but can someone please explain to me how this is happening?


1 Answer 1


IF you have a Profile Attribute configured on your account e.g. Greeting, and if you had a field in your Sending Data Extension as the same name i.e. Greeting; then at time of send, the value of Greeting in your Data Extension will be added to the Profile Attribute in all Subscribers.

If you then send an email to another data extension which doesn't have Greeting as a field, and you've referenced %%Greeting%% in your email, then it will pull the value it has from all subscribers.

This is a common gotcha, where if you are always wanting to ensure you pull the correct/up-to-date value of Greeting in a data extension, then you should using the LookupRows() to retrieve the value from the data extension rather than the profile attribute.

You may want to question your need/use of having Profile Attributes if you are using Data Extensions. Profile Attributes are typically used for sending to Lists.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .