Data Feeds

Last Updated on: 19 Sep, 2023

With Meson, Mediation-as-a-Service technology, you can access the full unfiltered stream of mediation events, in much the same way you would if you were building a mediation from scratch.

Types of Feeds

The following streams are available for publishers to access and also share with partners post-authorization.

Feed Type Description
Bid Stream Batch Everything the SDK sends to the Ad Server.
Bid Landscape Batch Batch impression-level auction insights. Provide information on participants with an ad, and pricing at an impression level.
Impression Stream Streaming Stream impression-level ad revenue in real-time. Provide accuracy of revenue per impression based on the type of integration with each network; Real-Time Bid, Predicted Bid, or Fixed Bid.
Click Stream Batch Batch impression-level engagement insights. Provide information on creative, advertiser, networks, and engagement at an impression level.

Setup a Feed

  1. To set up a feed, navigate to Reports/Data Feeds.
  2. Click on Setup to activate a feed. In case of impression stream you will have to provide a streaming end point.
    • compliance
    • compliance

Once you activate any one of the feeds, we will generate the following access credentials:

Credential Description
Access Key ID This is the unique identifier to access the S3 bucket over API.
Secret Access Key This is the password/secret to access the S3 bucket over API.
S3 bucket The S3 bucket has all the feeds generated for your account.

Accessing Feeds

All feeds of type batch are available in an S3 bucket, that is exclusively created per account once you activate a feed. Each feed is stored in a separate folder within the S3 bucket. The below folder structure explains how you can access data from your S3 bucket.

<bucket>.s3.amazonaws.com/appId=<appId>/<hour>/<feed-type>/

Use the API Key and Secret Key for authentication.

See below AWS documentation for authentication and download objects from S3.

Streaming Feeds

The impression stream alone can be streamed to an endpoint you provide using the post method. The response will be in JSON format.

Impression Stream Sample JSON:

[
   {
      "request_ts":1637318643616,
      "request_id":"A4A695ED-33F6-4BF3-9AE9-7F2BCC7EF562",
      "request_info":{
         "inventory":{
            "ad_unit_id":"2a1a90d6-4508-465c-82e1-74d7063521a4",
            "ad_unit_name":"AdMob Rewarded",
            "ad_unit_type_id":3,
            "ad_unit_type_name":"Rewarded",
            "app_id":"125c5e7f-28ec-4815-954b-0e08501a36e5",
            "app_name":"iOS Prime Test App",
            "publisher_id":"c4af7c43-c1c2-4363-9821-2f1cb6da9987",
            "bundle_id":"ai.meson.MesonTestApp",
            "ux_template_name":"Default Rewarded Video UX Template",
            "block_setting_name":"mesonTestApp_block_setting"
         },
         "country_code":"IND",
         "country_name":"India",
         "carrier":"Bharti Airtel Limited",
         "handset_manufacturer":"Apple",
         "handset_model":"iPhone",
         "operating_system":"iOS",
         "operating_system_version":"1.0",
         "integration_version":"p-i-1.0.0-beta1",
         "device_type":"Feature Phone",
         "test_request":false,
         "app_version":"1.0.0",
         "lmt":0,
         "att":"3",
         "targeting_group":{
            "id":"3c3d362e-364a-4bfd-bfac-8a42be0cb555",
            "name":"Rest of the World",
            "rank":1,
            "segment_id":"segmentId",
            "segment_name":"segmentName"
         },
         "gdpr_consent":"N/A",
         "has_advertising_id":true,
         "has_location":false,
         "user":{
            "has_age":true,
            "has_gender":true,
            "normalizedUserIds":{
               "ifa":"123E4567-E89B-12D3-A456-426614174000",
               "ppid":"ppid"
            }
         },
         "experiment":{
            "id":"3c3d362e-364a-4bfd-bfac-8a42be0cb555",
            "variant_tag":"3c3d362e-364a-4bfd-bfac-8a42be0cb555"
         },
         "wrap_request":false,
         "drop_reasons":"",
         "drop_reason_descriptor":""
      },
      "network_info":{
         "network_id":"bfa0a72c-e466-4376-a655-bb8d7d68b75b",
         "network_name":"Admob",
         "line_item_id":"e57c3a58-2128-4340-b596-26f379430bee",
         "impression_id":"e57c3a58-2128-4340-b596-26f379430bee",
         "line_item_name":"LI_RW_Admob_0.01",
         "creative_info":{
            "creative_id":"CR_ID",
            "adomain":"ADV_DOMAIN"
         },
         "pricing_info":{
            "bid":0.01,
            "bid_bucket":"[-]"
         },
         "network_type":"Passive",
         "network_integration_type":"SDK",
         "line_item_type":"Standard",
         "tier":{
            "id":"1d8c5aac-0837-4d7a-a238-698fcdc7a031",
            "strategy":"Backfill"
         },
         "bid_floor":0.01,
         "render_latency":10,
         "drop_reason":"",
         "drop_reason_descriptor":""
      }
   }
]