Here are the issues:
bannersNotGuaranteedToDisplay not reset on new iteration of fallback loop.
- If two campaigns use the same identifier for the impressionDiet feature, and they both target the same users at the same time, a single pageview may be counted twice in impression tallies. Other impressionDiet issues may be present in that scenario; full investigation pending.
- If more than one campaign targeting a given user segment is throttled, the percentage of pageviews selected may be greater than the percentage requested in throttling settings.
- bannersCount property in campaignStatuses is just the number of banners associated with the campaign. This is not a relevant data point; maybe the legacy banner_count (for counting impressions?) was intended?
- If multiple campaigns have enabled banner history and target the same user segment at the same time, and the banner history configuration settings (like sample rate) for the campaigns are not the same, the results may be unpredictable. Banner history lacks a reconciliation mechanism for different settings in this scenario.