Add a tag to all results


I’d like to tag all interactions which match my return statement. Aside from creating a tag that has the same filter as my return statement (which would greatly increase the stream’s DPU), is there a way to tag every interaction I receive? The best I’ve been able to come up with so far is to use a broad filter like “interaction.content exist”.


Applying a tag like 'interaction.content exists' to every interaction seems redundant. Is there any reason you need to tag every interaction? 


We need to tag every result with a version string to help us keep track of which version of collection terms we used to collect the results.


If you are looking at using Push Delivery to collect your interactions, you should be able to receive the specific stream hash that matched each interaction as part of the data you receive, which means you will not need to add tags to your CSDL.

Take a look at our Sample Output for File-Based Connectors page. Here you will find example output formats, which include the stream hash and Push subscription ID for each interaction returned to you.


Hello Jason,

adding a tag unconditionally to all interactions of a stream might seem redundant at first, but it has the positive effect that one doesn’t have to deal with decoding the stream hash, which is subject to change when the details of the query changes.

Especially with a large number of streams which are pushed with sftp, instead of keeping track of the stream hashes, I could use a unique tag per stream and just look at the tag and see which of the queries selected this particular interaction.

So, what are the cost implications of something like tag { interaction.content exists } and is there a possibly cheaper way of getting the same result?

Thank you



The cost implications of adding a tag to every interaction will be low. See the Tags section of our Understanding Billing page for details of how DataSift bills for tags.