We upload all of our content syndication leads to one program for that provider / campaign.  We also have programs for  each of our assets that can be downloaded from our website or via content syndicators. 
We set this up by adding a field called SFDC Campaign ID - Asset to our lead records and we include a column with the unique SFDC ID value corresponding to the asset in the upload file. 
Our asset programs have an "Update Progression Status - Downloaded" smart campaign. 
- 
		Its smart list has a Data Value Changes trigger with the "Attribute" SFDC Campaign ID - Asset" and "New Value: xxxxxxxxx" constraints.
 - 
		Its flow has the Change Status in Progression flow action that changes the "Content" channel's progression status to "Downloaded".
 - 
		Its Schedule allows each lead to flow through once.
 
This may provide the solution you want.