Pubnative publisher base is distributed into 2 types based on the API version used -
- API V2
- API V3
It is important to understand the difference between the two API versions and its impact on billing.
Scenario1 - API v2 publishers

- Publishers using API v2 trigger PN impression tracking URL client side on the event of impression confirmation.
- Once PN Ad server receives the PN impression tracking URL, PN triggers
nurl
server side. - We expect the DSP to respond with 2xx response. (Ideally, at this step, DSP counts an imp on their side)
- Once PN Ad server receives a 2xx response, PN counts an impression.
Guidelines for DSPs (Scenario 1)
Note : In case DSP responds with status code other than 2xx, PN will consider it as a failure and retry to get the expected response. During this phase, PN does not count an impression. This is a major cause of impression discrepancy.
Scenario2 - API v3 publishers

- Publishers using API v3 on client side trigger -
1.1 PN impression tracking url on the event of impression confirmation.
1.2nurl
on the event of impression confirmation.
1.3imptracker
on the event of impression confirmation. - Once PN receives the PN impression tracking URL, PN counts it as a confirmed impression.
-
Once DSP receives the `nurl` OR `imptrackers` (triggered client side) DSP counts it as a confirmed impression.
Guidelines for DSPs (Scenario 2)
- Always respond to an incoming
nurl
with a 2xx status code.- Post the above step, DSP should count an impression on their end.
- DSPs using
imptrackers
for impression counting have to still respond tonurl
with a 2xx status code to avoid impression discrepancies.