অনুরোধটি প্রক্রিয়া করুন

Google আপনার অ্যাপ্লিকেশনে একটি বিড অনুরোধ পাঠালে একটি রিয়েল-টাইম বিডিং ইন্টারঅ্যাকশন শুরু হয়। এই নির্দেশিকাটি ব্যাখ্যা করে যে বিড অনুরোধ প্রক্রিয়া করার জন্য কীভাবে আপনার অ্যাপ্লিকেশন কোড করবেন।

পার্স অনুরোধ

একটি HTTP POST অনুরোধের বাইনারি পেলোড হিসাবে সংযুক্ত একটি সিরিয়ালাইজড প্রোটোকল বাফার হিসাবে Google একটি বিড অনুরোধ পাঠায়। Content-Type application/octet-stream সেট করা হয়েছে। একটি উদাহরণের জন্য উদাহরণ বিড অনুরোধ দেখুন.

আপনাকে অবশ্যই BidRequest বার্তার একটি উদাহরণে এই অনুরোধটি পার্স করতে হবে। BidRequest realtime-bidding.proto সংজ্ঞায়িত করা হয়েছে, যা রেফারেন্স ডেটা পৃষ্ঠা থেকে পাওয়া যেতে পারে। আপনি BidRequest এর জন্য তৈরি করা ক্লাসে ParseFromString() পদ্ধতি ব্যবহার করে বার্তাটি পার্স করতে পারেন। উদাহরণস্বরূপ, নিম্নলিখিত C++ কোডটি একটি স্ট্রিং-এ একটি POST পেলোড দেওয়া একটি অনুরোধ পার্স করে:

string post_payload = /* the payload from the POST request */;
BidRequest bid_request;
if (bid_request.ParseFromString(post_payload)) {
  // Process the request.
}

একবার আপনার কাছে BidRequest হয়ে গেলে আপনি এটির সাথে একটি বস্তু হিসাবে কাজ করতে পারেন, আপনার প্রয়োজনীয় ক্ষেত্রগুলি বের করে এবং ব্যাখ্যা করতে পারেন। উদাহরণস্বরূপ, C++ এ:

for (int i = 0; i < bid_request.adslot_size(); ++i) {
  const BidRequest_AdSlot& adslot = bid_request.adslot(i);
  // Decide what to bid on adslot.
}

BidRequest এ পাঠানো কিছু তথ্য, যেমন Google User ID, ভাষা, বা ভৌগলিক অবস্থান, সবসময় পাওয়া যায় না। আপনার যদি প্রি-টার্গেটিং বিজ্ঞাপন গোষ্ঠী থাকে যা একটি প্রদত্ত ইম্প্রেশনের জন্য অজানা তথ্য ব্যবহার করে, তাহলে সেই বিজ্ঞাপন গোষ্ঠীগুলি মিলবে না। যেসব ক্ষেত্রে অনুপস্থিত তথ্য প্রাক-টার্গেটিং শর্তের জন্য গুরুত্বপূর্ণ নয়, বিড অনুরোধ পাঠানো হয় তথ্য বাদ দিয়ে।

প্রতিটি AdSlot এর জন্য MatchingAdData গ্রুপে প্রি-টার্গেটিং বিজ্ঞাপন গোষ্ঠী সম্পর্কে তথ্য পাওয়া যায়। এটিতে প্রি-টার্গেটিং বিজ্ঞাপন গোষ্ঠীর প্রথম মিলিত বিজ্ঞাপন গ্রুপ আইডি রয়েছে যা Google-কে বিডের অনুরোধ পাঠাতে অনুরোধ করেছিল, অর্থাৎ, আপনার প্রতিক্রিয়া ইম্প্রেশনের জন্য নিলামে জিতলে যে বিজ্ঞাপন গোষ্ঠী এবং প্রচারাভিযানের জন্য চার্জ করা হয়। কিছু নির্দিষ্ট পরিস্থিতিতে, আপনাকে BidResponse.AdSlot এ অ্যাট্রিবিউশনের জন্য billing_id স্পষ্টভাবে উল্লেখ করতে হবে, উদাহরণস্বরূপ, যখন BidRequest.AdSlot একাধিক matching_ad_data থাকে। বিডের বিষয়বস্তুর সীমাবদ্ধতা সম্পর্কে আরও তথ্যের জন্য, realtime-bidding.proto দেখুন।

অভিধান ফাইল

বিড অনুরোধটি অভিধান ফাইলে সংজ্ঞায়িত শনাক্তকারী ব্যবহার করে, যা রেফারেন্স ডেটা পৃষ্ঠায় পাওয়া যায়।

বিড ইউআরএল ম্যাক্রো

ঐচ্ছিকভাবে, BidRequest এর কিছু ক্ষেত্র HTTP POST অনুরোধে ব্যবহৃত URL-এ সন্নিবেশ করা যেতে পারে। এটি দরকারী, উদাহরণস্বরূপ, যদি আপনি একটি হালকা ওজনের ফ্রন্টএন্ড ব্যবহার করেন যা অনুরোধ থেকে একটি মান ব্যবহার করে একাধিক ব্যাকএন্ডের উপর ব্যালেন্স লোড করে। নতুন ম্যাক্রোগুলির জন্য সহায়তার অনুরোধ করতে আপনার প্রযুক্তিগত অ্যাকাউন্ট পরিচালকের সাথে যোগাযোগ করুন৷

ম্যাক্রো বর্ণনা
%%GOOGLE_USER_ID%%

BidRequest থেকে google_user_id দিয়ে প্রতিস্থাপিত হয়েছে। উদাহরণস্বরূপ, বিডার URL

http://google.bidder.com/path?gid=%%GOOGLE_USER_ID%%
অনুরোধের সময়
http://google.bidder.com/path?gid=dGhpyBhbiBleGFtGxl
এর মত কিছু দ্বারা প্রতিস্থাপিত হবে।

যদি Google User ID অজানা থাকে, তাহলে খালি স্ট্রিংটি প্রতিস্থাপিত হয়, যার ফলাফল অনুরূপ

http://google.bidder.com/path?gid=
%%HAS_MOBILE%%

BidRequest এর has_mobile() কল করার সময় 1 বা 0 দিয়ে প্রতিস্থাপিত হয়।

%%HAS_VIDEO%%

BidRequest এর has_video() কল করার সময় 1 (সত্য) বা 0 (মিথ্যা) দিয়ে প্রতিস্থাপিত হয়।

%%HOSTED_MATCH_DATA%%

BidRequest থেকে hosted_match_data ক্ষেত্রের মান দিয়ে প্রতিস্থাপিত হয়েছে।

%%MOBILE_IS_APP%%

BidRequest এর mobile.is_app ফিল্ড থেকে 1 (সত্য) বা 0 (মিথ্যা) দিয়ে প্রতিস্থাপিত হয়েছে।

লেনদেন URL থেকে মোবাইল অ্যাপ আইডি খুঁজুন

মোবাইল অ্যাপ্লিকেশান লেনদেনগুলি এইরকম দেখতে URL গুলি রিপোর্ট করবে:

mbappgewtimrzgyytanjyg4888888.com

স্ট্রিং এর অংশটিকে বোল্ড ( gewtimrzgyytanjyg4888888 ) ডিকোড করতে একটি বেস-32 ডিকোডার ব্যবহার করুন।

আপনি একটি অনলাইন ডিকোডার ব্যবহার করতে পারেন, তবে আপনাকে অক্ষরগুলিকে বড় করতে হবে এবং 8 s কে = মান দিয়ে প্রতিস্থাপন করতে হবে৷

তাই এই মানটি ডিকোড করার ফলে:

GEWTIMRZGYYTANJYG4======
ফলাফল:
1-429610587
স্ট্রিং 429610587 হল iOS অ্যাপ iFunny- এর অ্যাপ আইডি।

এখানে আরেকটি উদাহরণ। রিপোর্ট করা URL হল:

mbappgewtgmjug4ytmmrtgm888888.com
এই মানটিকে ডিকোড করা হচ্ছে:
GEWTGMJUG4YTMMRTGM======
ফলাফল হল:
1-314716233
ফলাফল 314716233 হল iOS অ্যাপ TextNow- এর অ্যাপ আইডি।

লেনদেন URL থেকে মোবাইল অ্যাপের নাম খুঁজুন

এখানে অ্যাপের নাম পাওয়ার একটি উদাহরণ। রিপোর্ট করা URLটি নিম্নরূপ:

mbappMFUXELTDN5WS42DZOBQWQLTJN4XHG3DJORUGK4Q888.com
এই মানটিকে ডিকোড করা হচ্ছে:
MFUXELTDN5WS42DZOBQWQLTJN4XHG3DJORUGK4Q===
ফলাফল হল:
air.com.hypah.io.slither
ফলাফলটি অ্যান্ড্রয়েড অ্যাপ slither.io- এর সমান।

ওপেন বিডিং ক্ষেত্র

ওপেন বিডিং-এ অংশগ্রহণকারী এক্সচেঞ্জ এবং নেটওয়ার্ক বিডারদের কাছে পাঠানো বিড অনুরোধগুলি স্ট্যান্ডার্ড রিয়েল-টাইম বিডিং-এ অংশগ্রহণকারী অনুমোদিত ক্রেতাদের অনুরূপ। ওপেন বিডিং গ্রাহকরা অল্প সংখ্যক অতিরিক্ত ক্ষেত্র পাবেন, এবং কয়েকটি বিদ্যমান ক্ষেত্রের বিকল্প ব্যবহার থাকতে পারে। এর মধ্যে নিম্নলিখিতগুলি অন্তর্ভুক্ত রয়েছে:

OpenRTB অনুমোদিত ক্রেতা বিস্তারিত
BidRequest.imp[].ext.dfp_ad_unit_code BidRequest.adslot[].dfp_ad_unit_code

এতে প্রকাশকের অ্যাড ম্যানেজার নেটওয়ার্ক কোড থাকে এবং তার পরে বিজ্ঞাপন ইউনিটের শ্রেণিবিন্যাস থাকে, ফরোয়ার্ড স্ল্যাশ দ্বারা আলাদা করা হয়।

একটি উদাহরণ হিসাবে, এটি অনুরূপ বিন্যাসের সাথে প্রদর্শিত হবে: /1234/cruises/mars

BidRequest.user.data[].segment[] BidRequest.adslot[].exchange_bidding.key_value[]

প্রকাশকের কাছ থেকে বিনিময় দরদাতার কাছে বারবার কী-মানের জোড়া পাঠানো হয়েছে।

BidRequest.user.data[].name “Publisher Passed” এ সেট করা থাকলে আপনি নির্ধারণ করতে পারেন যে মানগুলি প্রকাশকের দ্বারা পাঠানো মূল-মান জোড়া।

অনুমোদিত বিক্রেতাদের ঘোষণা

প্রযুক্তি বিক্রেতারা যারা গবেষণা, পুনঃবিপণন এবং বিজ্ঞাপন পরিবেশনের মতো পরিষেবা প্রদান করে তারা ক্রেতা এবং বিক্রেতাদের মধ্যে মিথস্ক্রিয়ায় ভূমিকা পালন করতে পারে। অনুমোদিত ক্রেতাদের ইন্টারঅ্যাকশনে অংশগ্রহণের জন্য Google যাচাই করেছে এমন বিক্রেতাদেরই অনুমতি দেওয়া হয়।

BidRequest বুঝতে এবং আপনার BidResponse তৈরি করতে, আপনাকে প্রযুক্তি বিক্রেতাদের ঘোষণা করার দুটি ভিন্ন সম্ভাবনা সম্পর্কে সচেতন হতে হবে:

  1. কিছু বিক্রেতা ঘোষণা করার প্রয়োজন নেই; এই বিক্রেতাদের অনুমোদিত ক্রেতাদের সাহায্যে তালিকাভুক্ত করা হয়েছে।
  2. অন্যান্য বিক্রেতারা শুধুমাত্র তখনই অংশগ্রহণ করতে পারবেন যদি তারা BidRequest এবং BidResponse উভয় ক্ষেত্রেই ঘোষণা করা হয়:
    • BidRequest এ, allowed_vendor_type ক্ষেত্রটি নির্দিষ্ট করে যে বিক্রেতা কোন বিক্রেতাদের অনুমতি দেয়। BidRequest এর allowed_vendor_type ফিল্ডে যে বিক্রেতাদের পাঠানো হবে সেগুলো Vendors.txt অভিধান ফাইলে তালিকাভুক্ত করা হয়েছে।
    • BidResponse এ, vendor_type ক্ষেত্র নির্দিষ্ট করে দেয় যে অনুমোদিত বিক্রেতাদের মধ্যে কোনটি ক্রেতা ব্যবহার করতে চায়।

উদাহরণ বিড অনুরোধ

নিম্নলিখিত উদাহরণগুলি প্রোটোবাফ এবং JSON অনুরোধগুলির মানব-পঠনযোগ্য নমুনাগুলি উপস্থাপন করে৷

গুগল

OpenRTB JSON

OpenRTB Protobuf

বিড অনুরোধটিকে একটি বাইনারি ফর্মে রূপান্তর করতে, যেমন আপনি একটি বাস্তব অনুরোধে POST পেলোড থেকে পাবেন, আপনি নিম্নলিখিতগুলি করতে পারেন (C++ এ)। মনে রাখবেন, যাইহোক, এটি OpenRTB JSON-এর ক্ষেত্রে প্রযোজ্য নয়।

string text_format_example = /* example from above */;
BidRequest bid_request;
if (TextFormat::ParseFromString(text_format_example, &bid_request)) {
  string post_payload;
  if (bid_request.SerializeToString(&post_payload)) {
    // post_payload is a binary serialization of the protocol buffer
  }
}

রিমার্কেটিং

অনুমোদিত ক্রেতারা একটি মোবাইল অ্যাপ্লিকেশন থেকে বিড অনুরোধে একটি মোবাইল বিজ্ঞাপন আইডি পাস করে। মোবাইল বিজ্ঞাপন আইডি একটি iOS IDFA বা Android এর বিজ্ঞাপন আইডি হতে পারে, যা অনুমোদিত ক্রেতাদের দ্বারা পরিচালিত জাভাস্ক্রিপ্ট ট্যাগের %%EXTRA_TAG_DATA%% ম্যাক্রোর মাধ্যমে পাঠানো হয়৷

%%ADVERTISING_IDENTIFIER%% ম্যাক্রো ক্রেতাদের ইম্প্রেশন রেন্ডারিংয়ে iOS IDFA বা Android এর বিজ্ঞাপন আইডি পেতে অনুমতি দেয়৷ এটি একটি এনক্রিপ্ট করা প্রোটো বাফার MobileAdvertisingId প্রদান করে যেমন %%EXTRA_TAG_DATA%% :

message MobileAdvertisingId {
  optional bytes advertising_id = 1;
  optional int32 user_id_type = 2;
}

user_id_type হল enum AdxMobileIdType এ সংজ্ঞায়িত মানগুলির মধ্যে একটি :

enum AdxMobileIdType {
  MOBILE_ID_UNKNOWN = 0,
  IDFA = 1,
  ANDROID_ID = 2,
};

আপনি ইমপ্রেশন রেন্ডারিং এর সময় আপনার সংগ্রহ করা বিজ্ঞাপন আইডি ব্যবহার করে মোবাইল বিজ্ঞাপন আইডি থেকে ব্যবহারকারী তালিকা তৈরি করতে পারেন। এই ব্যবহারকারী তালিকা আপনার সার্ভারে বা আমাদের উপর বজায় রাখা যেতে পারে. Google এর সার্ভারে ব্যবহারকারীর তালিকা তৈরি করতে আপনি আমাদের বাল্ক আপলোড সুবিধা ব্যবহার করতে পারেন।

যখন মোবাইল বিজ্ঞাপন আইডি একটি ব্যবহারকারী তালিকার সাথে মেলে, তখন আপনি এটি পুনরায় বিপণন চালানোর জন্য ব্যবহার করতে পারেন।

রিয়েল-টাইম প্রতিক্রিয়া

রিয়েল-টাইম প্রতিক্রিয়া অনুমোদিত ক্রেতাদের জন্য উপলব্ধ, সেইসাথে খোলা বিডিং ব্যবহার করে এক্সচেঞ্জ এবং নেটওয়ার্ক।

বিড প্রতিক্রিয়া প্রতিক্রিয়া AdX প্রোটোকল এবং OpenRTB উভয়ের জন্য পরবর্তী বিড অনুরোধে সমর্থিত। OpenRTB-এর জন্য, এটি BidRequestExt এ পাঠানো হয়।

বিড রেসপন্স ফিডব্যাকে প্রেরিত ডিফল্ট ক্ষেত্রগুলি ছাড়াও, আপনি বিড BidResponse ফেরত দেওয়া একটি event_notification_token ব্যবহার করে বিড প্রতিক্রিয়াতে (AdX Proto বা OpenRTB-তে) কাস্টম ডেটা পাঠাতে পারেন। event_notification_token হল নির্বিচারে তথ্য যা শুধুমাত্র বিডারের কাছে পরিচিত যা ডিবাগিংয়ে সাহায্য করতে পারে, উদাহরণস্বরূপ: একটি নতুন টার্গেটিং আইডি বা বিডিং আইডি একটি নতুন কৌশলের প্রতিনিধিত্ব করে, অথবা শুধুমাত্র বিডারের কাছে পরিচিত ক্রিয়েটিভের সাথে সম্পর্কিত মেটাডেটা। বিস্তারিত জানার জন্য, RTB এর জন্য OpenRTB এক্সটেনশন প্রোটোকল বাফার এবং AdX এর জন্য AdX প্রোটো দেখুন।

যখন অনুমোদিত ক্রেতারা একটি দরদাতাকে একটি বিড অনুরোধ পাঠায়, তখন দরদাতা একটি BidResponse দিয়ে উত্তর দেয়৷ যদি দরদাতার রিয়েল-টাইম ফিডব্যাক সক্রিয় থাকে, তাহলে পরবর্তী বিডের অনুরোধে, অনুমোদিত ক্রেতারা একটি BidResponseFeedback বার্তায় প্রতিক্রিয়া সম্পর্কে প্রতিক্রিয়া পাঠায়, যেমনটি নীচে দেখানো হয়েছে:

message BidResponseFeedback {
  // The unique id from BidRequest.id
  optional bytes request_id = 1;

  // The index of the BidResponse_Ad if there was more than one. The index
  // starts at zero for the first creative.
  optional int32 creative_index = 2;

  // The status code for the ad. See creative-status-codes.txt in the
  // technical documentation for a list of ids.
  optional int32 creative_status_code = 3;

  // If the bid won the auction, this is the price paid in your account
  // currency. If the bid participated in the auction but was out-bid, this
  // is the CPM that should have been exceeded in order to win. This is not
  // set if the bid was filtered prior to the auction, if the publisher or
  // winning bidder has opted out of price feedback or if your account has
  // opted out of sharing winning prices with other bidders. For first-price
  // auctions, minimum_bid_to_win is populated instead of this field.
  optional int64 cpm_micros = 4;

  // The minimum bid value necessary to have won the auction, in micros of
  // your account currency. If your bid won the auction, this is the second
  // highest bid that was not filtered (including the floor price). If your
  // bid did not win the auction, this is the winning candidate's bid. This
  // field will only be populated if your bid participated in a first-price
  // auction, and will not be populated if your bid was filtered prior to the
  // auction.
  optional int64 minimum_bid_to_win = 7;

  // The minimum bid value necessary to have won the server-side component of
  // the overall auction given that there was also an interest group bidding
  // component to the overall auction which ran using the Protected Audience
  // API. The value is expressed in CPM micros of the buyer account currency.
  // The minimum bid to win for the overall auction, including bids from the
  // server-side and the on-device interest group components, is populated in
  // the minimum_bid_to_win field of the same BidResponseFeedback object.
  optional int64 server_side_component_minimum_bid_to_win = 16;

  // Billable event rate multiplier that was applied to this bid during
  // ranking. The adjustment reflects the likelihood that your bid would
  // generate a billable event (namely, the ad renders successfully) if it won
  // the auction, relative to the probability that other bids generate a
  // billable event if they won the auction. This adjustment can be larger or
  // smaller than 1. This affects the final ranking in the auction only; in
  // particular, this multiplier does not affect the payment or whether the
  // bid clears any floor price.
  optional float billable_event_rate_bid_adjustment = 15 [default = 1];

  // When a publisher uses an RTB auction and waterfall-based SDK mediation on
  // the same query, the winner of the real-time auction must also compete in
  // a mediation waterfall (which is ordered by price) to win the impression.
  // If the bid participated in the auction and there was no waterfall, the
  // value of this field is 0. If the bid participated in the auction and
  // there was a waterfall, the value of this field is a price representing a
  // sample bid from the eligible mediation networks that were higher than the
  // auction winner, weighted by expected fill rate. This field can be used
  // in conjunction with minimum_bid_to_win to train bidding models. The CPM
  // is in micros of your account currency.
  optional int64 sampled_mediation_cpm_ahead_of_auction_winner = 10;

  // Event notification token that was included in the bid response.
  optional bytes event_notification_token = 5;

  // Buyer creative ID that was included in the bid response.
  optional string buyer_creative_id = 6;

  // Possible types of bid response feedback objects.
  enum FeedbackType {
    FEEDBACK_TYPE_UNSPECIFIED = 0;

    // Feedback for a bid that was submitted on a bid response.
    BID_FEEDBACK = 1;

    // Feedback for an interest group buyer submitted on a bid response to
    // particpate in an interest group bidding component of the auction run
    // using the Protected Audience API.
    INTEREST_GROUP_BUYER_FEEDBACK = 2;
  }

  // The type of the BidResponseFeedback message. Google will send separate
  // BidResponseFeedback objects for:
  // a) Each bid submitted on a bid response
  // b) Each buyer submitted on a bid response to particpate in an interest
  // group bidding component of the auction run using the Protected Audience
  // API.
  optional FeedbackType feedback_type = 17;

  // Origin of an interest group buyer that was included in the bid response.
  // This field is populated only for feedback where a bidder opted in an
  // interest group buyer to participate in the interest group bidding
  // component of the overall auction run using the Protected Audience API.
  // To learn more about origins, see https://www.rfc-editor.org/rfc/rfc6454.
  // To learn more about interest group bidding and the Protected Audience
  // API, see
  // https://developers.google.com/authorized-buyers/rtb/fledge-origin-trial.
  optional string buyer_origin = 18;

  // The status code for the submitted interest group buyer. This field is
  // only populated in the feedback for an interest group buyer that a bidder
  // requested to enter into the interest group auction through the bid
  // response. Individual creative status codes of bids submitted by the buyer
  // in the on-device interest group auction are not available. See
  // https://storage.googleapis.com/adx-rtb-dictionaries/interest-group-buyer-status-codes.txt
  // for a list of interest group buyer status codes.
  optional int32 interest_group_buyer_status_code = 19;
}

এই বার্তা থেকে, আপনার প্রথম ক্ষেত্রটি পরীক্ষা করা উচিত bid_response_feedback.creative_status_code ; আপনি creative-status-codes.txt- এ কোডটির অর্থ খুঁজে পেতে পারেন। মনে রাখবেন যে আপনি বিড জিতলে, আপনি মূল্য প্রতিক্রিয়া থেকে অপ্ট আউট করতে পারেন৷ আরও তথ্যের জন্য, কীভাবে অপ্ট-আউট করবেন তা দেখুন।

রিয়েল-টাইম ফিডব্যাকে বিড রিকোয়েস্ট আইডি এবং নিম্নলিখিতগুলির মধ্যে একটি অন্তর্ভুক্ত রয়েছে:

নিলামের ফলাফল রিয়েল-টাইম প্রতিক্রিয়া
ক্রেতা একটি বিড জমা দেয়নি. কিছুই না।
ক্রেতা একটি বিড জমা দিয়েছেন যা নিলামে পৌঁছানোর আগে ফিল্টার করা হয়েছিল। সৃজনশীল অবস্থা কোড ( creative-status-codes.txt )।
ক্রেতা একটি বিড জমা দিয়েছে কিন্তু নিলামে হেরেছে। ক্রিয়েটিভ স্ট্যাটাস কোড 79 (নিলামে বেশি বিড)।
ক্রেতা একটি বিড জমা দিয়েছেন যা নিলাম জিতেছে। ক্লিয়ারিং মূল্য এবং সৃজনশীল অবস্থা কোড 1 .

একটি অ্যাপ ইমপ্রেশন এবং 83 এর একটি সৃজনশীল স্ট্যাটাস কোডের জন্য, অ্যাপ প্রকাশক একটি মধ্যস্থতা জলপ্রপাত ব্যবহার করতে পারত এবং তাই বিজয়ী বিড প্রকাশকের পাসব্যাক জলপ্রপাত চেইনের অন্যান্য চাহিদার বিরুদ্ধে প্রতিদ্বন্দ্বিতা করত। বিড করার সময় sampled_mediation_cpm_ahead_of_auction_winner cpm_ahead_of_auction_winner কিভাবে ব্যবহার করবেন তা শিখুন

নমুনা

সমর্থিত প্রোটোকলগুলিতে দেখা যায় এমন রিয়েল-টাইম প্রতিক্রিয়ার একটি নমুনা নীচে দেওয়া হল:

গুগল

OpenRTB JSON

OpenRTB Protobuf

প্রথম মূল্যের নিলামের জন্য একটি বিডিং মডেল তৈরি করুন

একটি প্রথম-মূল্যের নিলামে একটি বিড রাখার পরে, আপনি minimum_bid_to_win এবং sampled_mediation_cpm_ahead_of_auction_winner ক্ষেত্র সহ রিয়েল-টাইম প্রতিক্রিয়া পাবেন যদি নিলাম থেকে বিড ফিল্টার করা না হয়। এই সংকেতগুলি ইম্প্রেশন জেতার জন্য আপনার বিড কত বেশি বা কম হতে পারে তা আপনার বিডিং লজিক জানাতে ব্যবহার করা যেতে পারে।

  • minimum_bid_to_win : ন্যূনতম বিড যা রিয়েল-টাইম বিডিং নিলাম জেতার জন্য রাখা যেতে পারে। আপনি যদি নিলাম জিতে থাকেন তবে এটিই হবে সর্বনিম্ন বিড যা আপনি এখনও জেতার সময় রাখতে পারেন। আপনি যদি নিলামে হেরে যান, এটি হবে বিজয়ী বিড।
  • sampled_mediation_cpm_ahead_of_auction_winner : যদি মধ্যস্থতা শৃঙ্খলে অন্য নেটওয়ার্ক থাকে, তাহলে এই ক্ষেত্রের মান হল যোগ্য মধ্যস্থতা নেটওয়ার্কগুলির একটি থেকে একটি নমুনা বিডের প্রতিনিধিত্বকারী মূল্য যা নিলাম বিজয়ীর চেয়ে বেশি ছিল, প্রত্যাশিত পূরণের হার দ্বারা ওজন করা হয়েছে। যদি মধ্যস্থতা চেইনের কোনো নেটওয়ার্কই পূরণ না হয় বা প্রকাশক SDK মধ্যস্থতা ব্যবহার না করে তাহলে এটি 0-এ সেট করা হবে।

কিভাবে এটা কাজ করে

minimum_bid_to_win এবং sampled_mediation_cpm_ahead_of_auction_winner এর সম্ভাব্য মান নির্ণয় করতে ব্যবহৃত গণনাগুলি বর্ণনা করার জন্য, আমাদের প্রথমে নিম্নলিখিতগুলি সংজ্ঞায়িত করতে হবে:

  • নিম্নোক্তগুলি নিম্নোক্ত ক্রমে মধ্যস্থতা শৃঙ্খলে CPMগুলিকে উপস্থাপন করে:
    \[C_1, C_2, …, C_n\]
  • নিম্নোক্তটি মধ্যস্থতা শৃঙ্খলে CPM-এর জন্য সংশ্লিষ্ট ফিল রেট উপস্থাপন করে:
    \[f_1, f_2, …, f_n\]
  • প্রদত্ত ফিল রেটের উপর ভিত্তি করে মধ্যস্থতা চেইন উপাদান \(i\)থেকে প্রত্যাশিত CPM এবং এর সম্ভাব্যতা নির্ধারণ করতে নিম্নলিখিত একটি ফাংশন ব্যবহৃত হয়:
    \(X_i = \{C_i\) সম্ভাব্যতা সহ \(f_i\); \(0\) সম্ভাব্যতা সহ \(1 - f_i\}\)
  • চূড়ান্ত বিজয়ী মধ্যস্থতা চেইন হবে:
    \[\{C_1, C_2, …, C_K, W\}\]
    যেখানে \(W\) হল বিজয়ী বিড, এবং \(C_K > W >= C_{K+1}\)
  • রিজার্ভ মূল্য, বা ফ্লোর, \(F\)হিসাবে চিহ্নিত করা হয়।
  • রানার আপ বিডকে \(R\)হিসাবে চিহ্নিত করা হয়।
নিলাম বিজয়ীর জন্য গণনা
মাঠ হিসাব
minimum_bid_to_win
\(max\{F, R, X_{K+1}, …, X_n\}\)
sampled_mediation_cpm_ahead_ of_auction_winner
sampled_mediation_cpm_ahead_ of_auction_winner
\(\{C_i\) সম্ভাব্যতা সহ \(\prod_{j=1}^{i-1}(1-f_j) \cdot f_i \div \prod_{j=1}^{K}(1-f_j)\}\)
\(1 <= i <= K\)এর জন্য।

নিলাম হারার জন্য হিসাব
মাঠ হিসাব
minimum_bid_to_win
\(max\{F, W\}\)
sampled_mediation_cpm_ahead_ of_auction_winner
sampled_mediation_cpm_ahead_ of_auction_winner
\(max\{X_1, …, X_K\}\)

একটি সাধারণ মধ্যস্থতা চেইন সহ উদাহরণ

অনুমান করুন একজন প্রকাশক রিয়েল-টাইম বিডিং এবং একটি SDK মধ্যস্থতা চেইন উভয়ই ব্যবহার করে নিম্নরূপ:

SDK মধ্যস্থতা চেইন প্রত্যাশিত CPM হার পূরণ
নেটওয়ার্ক ঘ\(C_1 = $3.00\)\(f_1 = 5\%\)
নেটওয়ার্ক 2\(C_2 = $2.00\)\(f_2 = 45\%\)
নেটওয়ার্ক 3\(C_3 = $0.50\)\(f_3 = 80\%\)
নেটওয়ার্ক 4\(C_4 = $0.10\)\(f_4 = 85\%\)

RTB নিলামের ফলাফল হিসাবে নিম্নলিখিতটি অনুমান করুন:

আরটিবি নিলাম সিপিএম
নিলাম বিজয়ী (W) $1.00
নিলাম রানার-আপ (আর) $0.05
সংরক্ষিত মূল্য / ফ্লোর (F) $0
যে নিলাম জিতে নিলাম

minimum_bid_to_win এবং sampled_mediation_cpm_ahead_of_auction_winner এর মান এবং সম্ভাব্যতা কীভাবে জিতেছে তার জন্য নিচের একটি উদাহরণ দেওয়া হল।

minimum_bid_to_win সম্ভাবনা
\(max(F, R, C_3) = $0.50\)\(f_3 = 80\%\)
\(max(F, R, C_4) = $0.10\)\((1-f_3) \cdot f_4 = 17\%\)
\(max(F, R, 0) = $0.05\)\((1-f_3) \cdot (1-f_4) = 3\%\)
sampled_mediation_cpm_ ahead_of_auction_winner
sampled_mediation_cpm_ ahead_of_auction_winner
সম্ভাবনা
\(C_1 = $3.00\)\(f_1 \div (1-(1-f_1) \cdot (1-f_2)) =~ 10.5\%\)
\(C_2 = $2.00\)\(((1-f_1) \cdot f_2) \div (1-(1-f_1) \cdot (1-f_2)) =~ 89.5\%\)
নিলামে হেরে যাওয়া বিড

হারানো বিডের জন্য minimum_bid_to_win এবং sampled_mediation_cpm_ahead_of_auction_winner এর মান এবং সম্ভাব্যতা কীভাবে গণনা করা হয় তার একটি উদাহরণ নিচে দেওয়া হল।

minimum_bid_to_win সম্ভাবনা
\(max(F, W) = $1.00\)\(100\%\)
sampled_mediation_cpm_ ahead_of_auction_winner
sampled_mediation_cpm_ ahead_of_auction_winner
সম্ভাবনা
\(C_1 = $3.00\)\(f_1 = 5\%\)
\(C_2 = $2.00\)\((1-f_1) \cdot f_2 =~ 42.8\%\)
\(0\)\((1-f_1) \cdot (1-f_2) =~ 52.2\%\)

বিড সমতল

বিড সমতলকরণ একটি একক জটিল BidRequest একাধিক বিড অনুরোধে প্রক্রিয়াকরণের বর্ণনা করে যা আপনার আবেদনে পাঠানো হয়। কারণ তারা অভিন্ন আইডি ( BidRequest.google_query_id অনুমোদিত ক্রেতা RTB প্রোটোকলে বা OpenRTB প্রোটোকলে BidRequestExt.google_query_id ) ধরে রাখে) আপনি নির্ধারণ করতে পারেন কোন বিড অনুরোধগুলি সমতল করার পরে সম্পর্কযুক্ত।

বিজ্ঞাপন বিন্যাস

কিছু বিজ্ঞাপনের সুযোগ একাধিক ফরম্যাট গ্রহণ করতে পারে। বিড সমতলকরণের সাথে, প্রতিটি বিন্যাস একটি স্বতন্ত্র বিড অনুরোধে পাঠানো হয় যেখানে যোগ্য বিলিং আইডিগুলির মতো বৈশিষ্ট্যগুলি অনুরোধে নির্দিষ্ট করা বিন্যাসের সাথে প্রাসঙ্গিক।

নিম্নলিখিত বিন্যাস ধারণকারী বিড অনুরোধগুলি স্বতন্ত্র বিড অনুরোধে সমতল করা হবে:

  • ব্যানার
  • ভিডিও
  • শ্রুতি
  • স্থানীয়

বিজ্ঞাপন বিন্যাস সমতল উদাহরণ

নীচে সমতুল্য অনুরোধের সমতুল্য সেটের তুলনায় বিজ্ঞাপন বিন্যাস সমতল না করে একটি সরলীকৃত OpenRTB JSON বিড অনুরোধ দেখানোর একটি উদাহরণ রয়েছে:

প্রাক সমতল

পোস্ট চ্যাপ্টা

ডিল

একটি প্রদত্ত দরদাতার জন্য একটি বিজ্ঞাপন সুযোগ খোলা নিলাম ছাড়াও বিভিন্ন ধরনের ডিলের ক্ষেত্রে প্রযোজ্য হতে পারে। ডিলের জন্য বিড সমতল করার সাথে, একটি বিড অনুরোধ খোলা নিলামের জন্য পাঠানো হবে, এবং প্রতিটি ধরণের নির্দিষ্ট-মূল্যের চুক্তির জন্য একটি। বাস্তবে, বিজ্ঞাপনের সীমাবদ্ধতাগুলি নিলাম এবং নির্দিষ্ট-মূল্যের চুক্তির ধরনগুলির মধ্যে আলাদা হতে পারে, উদাহরণস্বরূপ, একটি প্রদত্ত ভিডিও বিজ্ঞাপনের সুযোগের জন্য যা খোলা নিলাম এবং একটি নির্দিষ্ট-মূল্যের চুক্তি উভয়ের জন্য উপলব্ধ, একজন দরদাতা প্রতিটির জন্য স্বতন্ত্র বিড অনুরোধগুলি পাবেন যেখানে সীমাবদ্ধতা যেমন সর্বাধিক বিজ্ঞাপনের সময়কাল এবং এড়িয়ে যাওয়া বিজ্ঞাপন অনুমোদিত কিনা তা ভিন্ন হতে পারে। ফলস্বরূপ, বিজ্ঞাপনের সুযোগে প্রয়োগ করা সমতলকরণ আপনাকে উন্মুক্ত নিলাম এবং নির্দিষ্ট-মূল্যের চুক্তির জন্য বিজ্ঞাপনের সীমাবদ্ধতাগুলি আরও সহজে বুঝতে দেয়।

সর্বাধিক এড়ানো যায় এমন ভিডিও সময়কাল

Google-এর প্রোটোকল এবং OpenRTB বাস্তবায়ন ভিডিওর সময়কাল এবং স্কিপেবিলিটির জন্য নিম্নলিখিত ক্ষেত্রগুলিকে সমর্থন করে:

সময়কাল স্কিপযোগ্য সময়কাল স্কিপেবিলিটি
গুগল প্রোটোকল max_ad_duration skippable_max_ad_duration video_ad_skippable
OpenRTB maxduration n/a skip

এর মানে হল যে যখন Google প্রোটোকলের একটি দানাদার স্কিপ করা যায় এবং অ-এড়ানো যায় এমন সময়কাল থাকতে পারে, OpenRTB বাস্তবায়নের শুধুমাত্র একটি সর্বোচ্চ সময়কাল মান থাকে।

বিড সমতল করার আগে, OpenRTB-এর maxduration Google প্রোটোকলের max_ad_duration এবং skippable_max_ad_duration ক্ষেত্রের নিচে সেট করা হবে। এই আচরণটি এখন দুটি পৃথক বিড অনুরোধ পাঠানোতে পরিবর্তিত হয়েছে যখন এই মানগুলি পৃথক হয়: একটি স্কিপযোগ্য এবং অন্যটি অ-ছাড়াযোগ্য সুযোগগুলির জন্য maxduration প্রতিনিধিত্ব করে৷

নিম্নলিখিত উদাহরণগুলি দেখায় যে বিড সমতল করার আগে এবং পরে একটি Google প্রোটোকল অনুরোধ কীভাবে OpenRTB-তে অনুবাদ করে। সমতুল্য Google প্রোটোকল অনুরোধের একটি max_ad_duration 15 এবং একটি skippable_max_ad_duration 60

উদাহরণ max_ad_duration skip (সত্য বা মিথ্যা)
চ্যাপ্টা ছাড়া মূল অনুরোধ 15 true
সমতল অনুরোধ #1: এড়ানো যায় না 15 false
সমতল অনুরোধ #2: এড়ানো যায় 60 true

বাদ দেওয়া যায় এমন ভিডিও সময়কালের বিড অনুরোধ সমতল করা হবে যখন এই শর্তগুলি পূরণ হবে:

  • অনুরোধ ভিডিও অনুমতি দেয়.
  • স্কিপ এবং নো-স্কিপ ভিডিও উভয়ই অনুমোদিত, এবং দুটি স্বতন্ত্র সর্বোচ্চ সময়কাল মানের মধ্যে পৃথক।
  • এই অনুরোধ ব্যক্তিগত নিলাম বা খোলা নিলাম-যোগ্য।
  • দরদাতার অ্যাকাউন্টে সক্রিয় OpenRTB শেষ পয়েন্ট রয়েছে৷

আপনি আপনার প্রযুক্তিগত অ্যাকাউন্ট ম্যানেজারের সাথে যোগাযোগ করে এই ধরনের সমতলকরণ থেকে অপ্ট আউট করতে পারেন।

ভিডিও পড

একাধিক বিজ্ঞাপনের সুযোগ সহ একটি ভিডিও পডের জন্য বিড অনুরোধ সমতল করা হয়, যেমন প্রতিটি বিড অনুরোধ সেই পড থেকে একটি পৃথক বিজ্ঞাপনের সুযোগের জন্য। এটি আপনাকে একটি প্রদত্ত পডের জন্য একাধিক বিজ্ঞাপনের সুযোগে বিড করতে সক্ষম করে।

খোলা পরিমাপ

ওপেন মেজারমেন্ট আপনাকে তৃতীয় পক্ষের বিক্রেতাদের নির্দিষ্ট করতে দেয় যারা মোবাইল অ্যাপ পরিবেশে পরিবেশিত বিজ্ঞাপনগুলির জন্য স্বাধীন পরিমাপ এবং যাচাইকরণ পরিষেবা প্রদান করে।

বিজ্ঞাপনের সুযোগটি প্রকাশক-বর্জনযোগ্য সৃজনশীল বৈশিষ্ট্যগুলিতে পাওয়া OmsdkType: OMSDK 1.0 বৈশিষ্ট্যগুলিকে বাদ দেয় কিনা তা যাচাই করে আপনি বিড অনুরোধে প্রকাশক ওপেন মেজারমেন্ট সমর্থন করেন কিনা তা নির্ধারণ করতে পারেন। অনুমোদিত ক্রেতাদের প্রোটোকলের জন্য, এটি BidRequest.adslot[].excluded_attribute এর অধীনে পাওয়া যাবে। OpenRTB প্রোটোকলের জন্য, এটি বিন্যাসের উপর নির্ভর করে ব্যানার বা ভিডিওর জন্য battr বৈশিষ্ট্যের অধীনে পাওয়া যাবে।

ওপেন মেজারমেন্ট সিগন্যাল সম্বলিত বিডের অনুরোধগুলি কীভাবে ব্যাখ্যা করতে হয় সে সম্পর্কে আরও তথ্যের জন্য, ওপেন মেজারমেন্ট SDK সহায়তা কেন্দ্র নিবন্ধটি পড়ুন।

নমুনা বিড অনুরোধ

নিম্নলিখিত বিভাগগুলি বিভিন্ন ধরণের বিজ্ঞাপনের জন্য নমুনা বিড অনুরোধগুলি দেখায়৷

অ্যাপ ব্যানার

গুগল

OpenRTB JSON

OpenRTB Protobuf

অ্যাপ ইন্টারস্টিশিয়াল

গুগল

OpenRTB JSON

OpenRTB Protobuf

অ্যাপ ইন্টারস্টিশিয়াল ভিডিও

গুগল

OpenRTB Protobuf

অ্যাপ নেটিভ

গুগল

OpenRTB JSON

OpenRTB Protobuf

ওয়েব ভিডিও

গুগল

বিনিময় বিডার জন্য মোবাইল ওয়েব ব্যানার

OpenRTB Protobuf