I am having an error when trying to implement a data filter using a measure I created. I am implementing this filter to create a filtered data extension. Here are the details:

I am using a data extension with about 133,000 records and I am trying to create a filtered data extension of just the contacts that have not opened an email in the past 180 days. Let's call this data extension 'A'.

I created a measure called Opens_180_A. The measure has:

data source: Subscribers

event source: Unique Opens

Operation: Count

Open Date - is after - today minus - 180 - days

Then I created a data filter type data extension which has:

Opens_180_A - is less than - 1

I created a filtered data extension from this data filter and got 0 records. I then changed the data filter to be:

Opens_180_A - is greater than or equal to - 1

and I got ~30,000 records.

Is there a problem with my logic somewhere? I would think that in the original one I should be getting around 103,000 records (133,000 original - 30,000 that opened emails).

How can I fix this issue? Any workarounds that I can use?

Thanks in advance.

2 Answers 2


This should be done via query activity as this will result in a non-performant Filter activity being created. This will pull against the full scope of each data view referenced by the query activity.

From a "why it doesn't work" perspective of making measures/filters like this the methodology being used here is opposite what is expected. Not open or not click count is recorded on a row to row basis so results would be gathered the opposite way that you would think. It would count how many emails that did not have these events per subscriber.

  • thanks! I am still a bit confused on your second paragraph, can you explain in a little more detail what exactly the measures do please for future reference.
    – Intern
    Jul 16, 2019 at 17:54
  • 1
    The logic of the not click and not open will return rows for subscribers that were sent to but did not open an email. So if you said when not click "the measure" less than 1 that would mean less than a count of 1 which would not be possible to return as in order to return a result it would have to at least be 1 "not clicked" row. So if one subscriber was sent one job that they did not click on it would return 1 result should that be filtered by the not click measure. To be fair these measures don't really do what people think that they do and mostly shouldn't be used. Jul 17, 2019 at 23:49
  • 1
    I would suggest starting from the ground up and doing the following: 1.Create a query that pulls SubscriberIDs or SubscriberKey or EmailAddress (based off of the data that you have) sourced from your _open data view. 2. Run the query 3. Select subscribers from your source data extension by SubscriberIDs or SubscriberKey or EmailAddress (whatever your unique value is) 4. Create a not in statement to find subscribers in your sendable data extension that removes results based off of the _open table that you created previously. Jul 17, 2019 at 23:57

Instead of using measures, which is a legacy feature of Marketing Cloud, you could write an SQL query in Automation Studio to query system Data Views (for example the _Open data view) and automate it to run on a schedule. Here you can read more about Data Views and using SQL in Marketing Cloud.

You must log in to answer this question.

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