Hi,
There is currently no easy way to strictly filter to entities that have had spend, but we strongly recommend to use a simple logic like:
- Was the campaign, line-item active? (where active means not deleted, not paused, not expired)
- For billing data, you do not need to keep re-fetching it after a certain period of time
Please refer to https://dev.twitter.com/ads/analytics/best-practices for the best practices we pointed to in the past.
If the objective is related to conversions (website conversions, or app conversions with MACT tracking partner) - you need to look at the window settings of web_event_tag and app_event_tag and fetch data even after the campaign stopped serving for those conversion analytics data.
By the way, pulling entities themselves, you should sync with similar filtering like checking the last_updated_at date.