Typical adservers serve an ad payload that has 1 to many impression tags that advertisers use for tracking their impressions. In this scenario the impression tags are usually just HTTP calls to a tracking service to let it know that an ad was served. The problem with this is that this means there are typically many tracking calls going on, which can slow the client down.
This also means that there is more of a chance for discrepancy if the user leaves the page/video quickly or if there are ad blockers in play. One tag call may get through while others are blocked or aborted before they had a chance to be called.
Our adserver serves an ad payload that limits the impression tags to a single tag that points back to our infrastructure. After receiving this event, we then call the third party impression tags that are associated with this ad from our servers. This allows us to reduce the likelihood of discrepancies between impression tracking systems, reduce the number of calls that a client has to make (which often fail for no reason), and reduce the possibility of the different tracking calls being blocked by an ad blocker. Only one call needs to make it from the ad to a backend system vs many calls.