as far as I understand the calculation of the bounces, a second call (whatever type it is) would destroy the bounce rate. therefore, firing a second call might not be the right option.
depending on business requirements you have other options:
- do not track initial page load and wait until you can track everything together (page load and impression)
- discuss with business some user actions when they consider it not beeing a bounce. that means business defines either time or a user action (like scrolling/click) as beeing active and not a real bounce. fire the second call with impressions on this trigger.
- just save impressions somewhere (cookie, user storage) and send it on the next regular server call. but you would loose all the impressions for single page visitors and might be difficult for reporting.
without further knowledge of your requitements and technical setup I would prefer option 2) as the way to go, maybe 1) if the time lage is really small.