We have a content pool of say 10 different content blocks. We have a defined logic on how we wish to pull in the content, but, if you have been sent / have seen a particular block within the last 60 days, that particular block should not be available for output in the email.

Is there any way to achieve this?

My thinking is either Send Logging or creating a DE that stores the ID's of content blocks that are sent to subscribers - but it seems this would scale out of control in terms of data storage and the ampscript lookups needed?

Email volume is a minimum of 500.000 emails a week.

  • How many customers are in the database?
    – 0xsegfault
    Mar 28, 2017 at 9:14
  • 50+ million people or so :) Mar 28, 2017 at 9:15

1 Answer 1


I'd suggest having a dedicated Send Log DE for the email.

At the top of the email, you can retrieve the row by Subscriber Key to determine previous content combinations.

After the content is determined you can use an UpsertDE() to record the current combination of content areas.

I'd create the DE with Data Retention so it doesn't get out of control.

  • Makes a lot of sense - but if i upsert the content, say i have 10 blocks to choose from and i need to store individual "fatigue" rules for each block - i.e. I as a subscriber can only see the block once per 90 days - then it sounds like that this would be technically feasible with the current content capabilities - or am I misinterpreting? :) Thanks Adam! Mar 31, 2017 at 8:24

You must log in to answer this question.

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