Zeropark Documentation

Push Traffic

Zeropark push ads look similar to regular push notifications, however, there are a few fundamental differences in where they’re coming from.

Zeropark push ad notifications are generated and displayed by websites — not apps. That’s why, aside from Android mobile devices, push ads are common on desktop, too.

Zeropark also supports in-page push traffic — another effective traffic type that lets advertisers reach more customers, even on iOS. As the industry-leading ad network, Zeropark helps connect publishers and advertisers enabling both sides to monetize their inventory. That’s why we continuously work on delivering the highest quality services to our partners on both the supply and demand side.

Push_-_gif.gif
In-Page_Push_-_gif.gif

Push Ads & In-Page Push Ads

Push Traffic Integration

For publishers who want to integrate their push traffic supply with Zeropark, we enable a special kind of Programmatic RTB integration — Push feed (also supporting XML, JSON, OpenRTB)Please note that Direct URL integration is not possible for push traffic.

How to integrate your push traffic supply?

The Push feed integration is similar to Zeroclick but designed specifically for Push traffic. It supports multiple feed languages (XML, JSON, OpentRTB) and allows publishers to participate in Zeropark’s real-time bidding ad exchange (RTB auction). 

Once the integration process is complete, publishers are able to send their queries to the feed. Upon receiving a visit request from a publisher, Zeropark replies back with a bid derived in an RTB auction.

During the RTB auction, visitors are auctioned off to an extensive network of Zeropark advertisers allowing publishers to receive the highest bid available for a given visit. 

Push feed works on a CPC basis so the payout is only applicable if users click on a push notification ad sent to their device. If users click on the push ad notification, they are then redirected to the advertiser’s campaigns, and publishers receive their payout.

Integration overview:
  • Feed Language: XML, JSON, OpenRTB

  • Accepted Traffic: Push

  • Bid Format: CPC

  • Auction: external; internal

Integration flow:
  1. For Programmatic RTB integration types for push ads, a Push feed is needed.

  2. When an auction request is sent via Push feed to Zeropark, we parse it and reply with the auction bid and campaign URL.

  3. If Zeropark’s bid wins the auction, the visitor (sent by the publisher) will be redirected to the campaign URL under “redirecturl” parameter attached in the response.

  4. Publishers need to contact the Zeropark Publisher team and inform them about the desired integration type. We will then set up the feed with the ad tag’s name and publisher’s fallback URL.

  5. An example request for chosen integration type will be visible in your Zeropark account once the feed is set up.

  6. Please remember to fill the parameters examples (domains, keywords) with actual data.

  7. Sending the right parameters helps matching publisher traffic with the right supply.

  8. Sending real domains isn’t necessary but recommended. If the domain isn’t provided, then publishers need to pass the domainid parameter.

  9. Once a feed is accepted, publishers can start sending requests.

  10. Please note that a Direct URL integration is not possible for push traffic.

Prerequisites:
Feed queries specification:
  • Every query must be unique (duplicated visits will be filtered out based on IP + UA + Feed within 50 ms); feed responses cannot be cached.

  • The Push feed contains a range of required parameters (XML/JSON), which must be passed in the feed call.

Feed parameters specification:
  • Publishers can add more parameters than the ones required by Zeropark or described below.

  • Parameters always come after the Zeropark domain with the protocol:

    • XML/JSON http://feed.zeropark.com/br

    • OpenRTB http://feed.zeropark.com/or

  • They are provided after ‘?’ indicating the start of query parameters and separated with ‘&’.

  • Parameters in a request can be placed randomly.

  • All parameters must be URL encoded. Most web programming languages provide a method of encoding the URL to ensure that invalid characters are not included in the HTTP GET request.

  • Reference can be made to the HTTP specification from W3C for URL encoding details (http://www.w3.org/).

  • XML and JSON differ in case responseformat parameter is included in the request.

  • OpenRTB offers similar parameters but the naming may vary (e.g. site.domain instead of domain).

  • OpenRTB feed language needs a custom approach and should be discussed with the Zeropark Publisher team on individual basis.

Feed request syntax:

For XML:

http://push.zeropark.com/br/feedid_value?useragent=<ua>&ip=<ip>&keywords=<keywords>&domainid=<domain>

Example of an XML query call:

http://push.zeropark.com/br/bf11eaf0-343e-11e9-9a51-0a15cb739170?ua=Mozilla%2F5.%20(Linux%3B%20Android%209%3B%20SM-G950F)%20AppleWebKit%2F537.36%20(KHTML%2C%20like%20Gecko)%20Chrome%2F77.0.3865.92%20Mobile%20Safari%2F537.36&ip=185.53.199.37&domainid=000000&format=jsonv2&user_id=1a1a1a1&lang=en

For JSON:

http://push.zeropark.com/or/{feedId}?ua=[useragent]&ip=[ip]&keywords=[keywords]&domainid=[domain_id]&domain=[domain]&day=[days]&format=jsonv2&user_id=[userid]&pubid=[externalPublisherId]

The required parameters include:

  • ua/useragent visitor’s device specification (browser, OS, etc.) for device targeting.

  • ip visitor’s IP(v4) address in the dotted format to determine geolocation.

  • domain URL of the site where the user was generated. If not provided then we need domainid (one below).

  • domainid ID of the site where the user was generated. Domainid is not required if the domain parameter is provided, but both are recommended.

* feedid our unique ID assigned to that feed/Ad tag. In fact, it’s not a parameter providing information about the user, but a value allowing to connect traffic with the given feed.

Publishers often include the following parameters, too:

  • responseformat for a publisher to set a response format (XML/JSON).

  • pubid id of the external publisher (publisher of the publisher setting the feed).

  • keywords keywords associated with the visited domain or site that generated.

  • deviceid mobile device id: IDFA, ADID, Android ID or WAID, if available.

  • secure true/false flag to enforce HTTPS protocol in our campaigns.

  • days number of days since the user was generated (optional)

  • user_id unique push subscriber id

  • lang language of the visitor/visitor’s browser

Feed response syntax:

For XML:

<item>
<title><![CDATA[ (1) NOTIFICATION TITLE]]></title>
<token><![CDATA[v7lCyAOMAZtLB1dP3x8597ReTmaHRoSH1FEyCsFO5jJ979-MCYwHIf9vYEec3il49XujnX_XGIlym8J0B4MGCiRHtXnIYdRPzSNqfe41IGpI5ZebcKTBuczJMFhw4WcEeGS8SKtfIfsDvRR8JXe7brL3jHA3WZvpyXLp9dFhmwb6SGvhy5o1rwPXjNW4-Rgldwv1o_Epd1tti5PzArU5eaqIydDJqmQO63TwvSdIr7OfIR1OJ5G0YhUQBH1OYthnGIg-yL4d3QWewW3Tl3nNAa3VWkBB1mX-djp3BwxQPuzxe3s6f06nsnC-RnYHRNIAvL6SB28tiIc_nwC45sPLv-eObEmEIkOqIckp_kS-xw0zvyX67xJogxouWt-RANbvk8FvtO8FzlKA91_YZuMTBKsGP-uIm58GdDMajfj9PJkjE8J1gO3ha6LUKvuhamvayQSmbaY9Br5kybUmA1TVnhGnPkh-L4OQzE0QPMd-lB8QaGS04phDXLPmYzCvHzdcH27CR6iZpFxbLZ_FM2ezg4uBalASZiotUeF9XSbVukx6hyix5aY3UVf7Jvmyb1_u7WPZeaOi69A2MmQFR4IqOQ5IgYh9gDM-1AmXjugGUWeYkq-qZtS4p9qy0OuFtgzsS3dzM1bZK8ykh5rXMmn_YX21oTqGTR7UwefK6BKgzOAVAokj6yfBzOnXaotR_bBeMKID_-AO0V-98SM9VxhVvvEcKfHnGUr-St1yQq9xLERL72io0nSYdnFfX-EpmNhQwjEoew==.3B6Ih1YtYZnHfPB4b5ekpQ==]]></token>
<link><![CDATA[https://cyneburg-yam.com/c/a2484ca2-e44e-11e9-8e4f-128e2588fe06/1/{token}]]></link>
<imp_url><![CDATA[https://cyneburg-yam.com/imp/a2484ca2-e44e-11e9-8e4f-128e2588fe06/1/{token}]]></imp_url>
<image_url><![CDATA[https://cyneburg-yam.com/imp/a2484ca2-e44e-11e9-8e4f-128e2588fe06/1/{token}]]></image_url>
<description><![CDATA[ NOTIFICATION MESSAGE ]]></description>
<price>0</price>
<cpc>0.004</cpc>
<ad_id>c80f3e99-cb93-4d24-8537-1d226aa4ed03</ad_id>
</item>

For JSON:

{"title": "(1) Mensaje no leído","token": "fBKCxDTN-whqaHZq_OasUvpc9pTTuHFp88dIxV-yLkvH4qtDnMaKymKY2puLF08ZrEC2Jln8Nkpkd83BXUVcMQP1nWIbB6f0rTuuPF01L6sc-coX8lunlHr_T-e17cmRxzsJmJ0S1arPP3NyLTZSka1RTr79gajWOMoDEIhdyWcBzShYYGYNZmNWH6mdKxMP2bk4I809Wo2Aa_IL8B1rxRoTdGb25exJqg-wXMSYl9nbVtDpJVVHVhTvL6N6-8qqlBbsHLM8oc0JCDxHXv5FDUboUus1AtzYnpv9WjgSPPfJr72nME-Vp2_v0slsLONrZyHuME3AViAdOuRnH-8jAqH-l6ucnPmDQJVyMZY_FB0zFkCmkzzCxEm7H8SwDT90eT_b-PWWSxrUyDm--12jcTOM0jQgsGDPztiDSFKkkGhP3F4rxygJdxzhgDXF77sgaTUt0YxQa8tcBkBZM4d_R_3OLF8hJg_XS0LkeUScsPv46yzRutDIRUcgUITszfAGQJ99nSVeKamM3BgIGstr-OIj6SQ-Vo1JCCjO0bbSXDlQE7yPgD5ZahC6KNnY1V7nyn209q3MSO8W4J46utw-0YY7YhBA5B9NNMpWOmr4lEjC0GQpzfrX5RYLAjoFXwVRpD-nZ6N_fV8drZXrk8oTJvrQL75Ah6OXYAkxUn_05VP7-VApYwXuyWt-ak4Cxmgoa92z19_ZWW66UfwwuM10Ys1MEfE1SA8HUb9Bj5PqU0X_5jWJrCA4HtL55tUfFktv2QW61w==.fB3nP5-qVtUOVLuhiclGbw==","link": "https://cyneburg-yam.com/c/7a97edf5-e44e-11e9-b07e-0a1ad0dfa236/1/{token}","imp_url": "https://cyneburg-yam.com/imp/7a97edf5-e44e-11e9-b07e-0a1ad0dfa236/1/{token}","image_url": "https://cyneburg-yam.com/imp/7a97edf5-e44e-11e9-b07e-0a1ad0dfa236/1/{token}","description": "Tarjeta regalo S/5500 de PlazaVea","price": 0,"cpc": 0.004,"ad_id": "c80f3e99-cb93-4d24-8537-1d226aa4ed03"}

Both response formats contain:

  • title push ad notification/ creative’s title (here: ‘(1) Mensaje no leído’).

  • token token that needs to be substituted on the publisher feed side in the URL.

  • link URL that will redirect the user to campaign destination URL. Note that {token} placed at end of that section must be substituted by the publisher with the value from {token} parameter to work. Here you can find our click id value: a2484ca2-e44e-11e9-8e4f-128e2588fe06.

  • imp_url unique URL of the image shown with the push notification, used also for impression tracking.

  • image_url unique URL of the image shown with the push notification, used also for impression tracking (the same as above).

  • description push notification text description.

  • price CPM value per impression. Note that we currently do not work with any publisher on a CPM basis for push traffic. Ignore if empty.

  • cpc Zeropark returned bid value.

  • ad_id a unique ID assigned to an ad creative in the Zeropark system. Ad_id allows to identify the whole creative combination (text and image). If one campaign has 10 different ad creatives, and one image is used multiple times, there will still be 10 different ad_ids.