I have built a dynamic email template. This email template pulls the data from the Data Extension based on email name ( example: subject line, pre-header, content area, headers etc). For each field that I am fetching from the content Data Extension I use a lookup. Example:

set @subject            = Lookup(@ContentDataExtension,"subject","emailName",@emailName)

similarly I do around 30 lookups to fetch data.

I read that if there are a lot of lookups it might slow down the email processing & sends.

Steps which I have taken so far to optimize the code,

  1. moved the lookups from email into a separate content block. Now in the email , I just call the content block. Does this make any difference?

Does anyone know how to optimize the code when doing multiple lookups from the same data extension or is there a better way I should handle this?

PS: I don't want to store the content data in a send data extension and just use Attribute value.

1 Answer 1


You can create one central Content Data Extension and then pull from it all the needed 30 fields based on the email name using LookupRows AMPScript function. That would be definitely more efficient than 30 separate Lookups.

  • Thank you, that makes sense
    – avi
    Commented May 4, 2022 at 10:50

You must log in to answer this question.

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