I need to get the date/time of the most recent open for every contact, regardless of which campaign they last responded to. I realize that I can use the Contacts Collection Report to generate a list of all contacts, then for each one, run an Open activities report, but I have 4,000 contacts to process. Clearly, if I need to run this multiple times per day (especially during testing), it will require thousands of calls. Is there a more efficient way to get the most recent open for every contact in my account?
Unfortunately there is not a more direct method that I am aware of to accomplish this specific goal. The only alternative would be to store data on your server about the most recent open for each contact and then monitor your campaigns (using the Email Campaigns Opens Report) for any new opens and then update your records for any new opens that are recorded. This would allow you to monitor a smaller set of data, but it also requires storing enough data on your system that you can check for new data.
Please let me know if you have any questions!