Hiện tại, chỉ có một số nhà phát hành dùng được giải pháp đặt giá thầu ứng dụng di động.

Giải pháp đặt giá thầu giữa các máy chủ

Nền tảng trung gian nội bộ không được cung cấp công khai

Giải pháp đặt giá thầu nội bộ với Audience Network hiện đang ở giai đoạn Beta kín và chưa được cung cấp công khai. Chúng tôi sẽ cung cấp thêm thông tin cập nhật khi có thay đổi.

Thay vào đó, bạn có thể truy cập phương thức Đặt giá thầu trên Audience Network thông qua một trong các nền tảng trung gian mà chúng tôi hợp tác.

Trên trang này:

Facebook Audience Network hỗ trợ đặt giá thầu trong các ứng dụng di động cũng như trang web di động. Quá trình tích hợp giải pháp đặt giá thầu ứng dụng di động có thể diễn ra từ ứng dụng di động đến máy chủ của chúng tôi hoặc từ máy chủ của bạn đến máy chủ của chúng tôi. Phần tổng quan này đề cập đến các khái niệm chung về đặt giá thầu trong ứng dụng.

Giới thiệu

Đặt giá thầu trong ứng dụng là gì

Đặt giá thầu trong ứng dụng là cách để nhà phát hành thiết lập một phiên đấu giá mở và công bằng cho khoảng không quảng cáo của mình bằng cách cung cấp mọi cơ hội quảng cáo cho nhiều nguồn nhu cầu trong thời gian thực. Mỗi nguồn nhu cầu đều có cơ hội cạnh tranh và giành được mọi lượt hiển thị khi có giá trị cao nhất.

Tại sao nên sử dụng giải pháp đặt giá thầu trong ứng dụng

  • Đấu giá trong thời gian thực là cơ hội để tối ưu hóa cho mọi yêu cầu quảng cáo.
  • Cung cấp thông tin chi tiết về giá trị thực của khoảng không quảng cáo.
  • Dễ duy trì và cần ít tài nguyên hoạt động quảng cáo hơn.

Cấu trúc tích hợp

Đặt giá thầu trong ứng dụng được cung cấp thông qua một điểm cuối giúp triển khai giao thức Đặt giá thầu theo thời gian thực mở (ORTB) nhằm cung cấp giá thầu trong các cơ hội hiển thị riêng lẻ. Cần có Audience Network SDK khi đặt giá thầu trong ứng dụng để thực hiện các hành động sau:

  • Lấy buyeruid (có tên là bidderToken trong Audience Network SDK). Mã này là trường bắt buộc trong yêu cầu giá thầu và phải riêng biệt trên mỗi người dùng lẫn mỗi ứng dụng. Mã này không hợp lệ đối với người dùng hoặc ứng dụng khác.
  • Tải phản hồi giá thầu và hiển thị quảng cáo nếu công cụ đặt giá thầu thắng trong phiên đấu giá.
  • Ghi lại số lượt click và lượt hiển thị.

Các bước chính trong quy trình đặt giá thầu

  1. Lấy mã của công cụ đặt giá thầu. Audience Network cần có chuỗi mờ này để phản hồi yêu cầu giá thầu.
  2. Gửi yêu cầu giá thầu và nhận phản hồi giá thầu. Đây là hoạt động tương tác chính với điểm cuối đặt giá thầu. Trong bước này, bạn gửi yêu cầu cho giá thầu ORTB rồi nhận phản hồi giá thầu hợp lệ hoặc gặp lỗi.
  3. Chạy phiên đấu giá. Chạy phiên đấu giá và chọn người thắng thầu trong số các phản hồi giá thầu. Hầu hết phiên đấu giá đều so sánh giá thầu trong thời gian thực với CPM ước tính từ các nguồn nhu cầu khác (chẳng hạn như CPM trung bình trước đây). Lý do là vì một số nguồn nhu cầu không hỗ trợ giá thầu trong thời gian thực. Bạn có thể chạy phiên đấu giá bằng một trong những công cụ sau:
    • Máy chủ nội bộ chạy logic đấu giá tùy chỉnh của riêng bạn
    • Máy chủ đấu giá của bên thứ ba
    • Ứng dụng trên thiết bị của người dùng
  4. Truy xuất quảng cáo có phản hồi giá thầu. Nếu Audience Network thắng trong phiên đấu giá, hãy tải quảng cáo bằng cách chuyển trường adm từ phản hồi giá thầu vào Audience Network SDK trên thiết bị của người dùng. Lưu ý rằng trường adm không chứa quảng cáo thực tế, mà chỉ chứa thông tin cho phép SDK truy xuất quảng cáo từ máy chủ Audience Network.

Các loại hình tích hợp

Khi chạy phiên đấu giá (bước thứ 3 trong quy trình đặt giá thầu ở trên), dữ liệu có thể được lưu trữ ở Phía máy khách hoặc Phía máy chủ. Dưới đây là 3 loại hình tích hợp khác nhau:

Cấu trúc tích hợp giữa các máy chủ

Trong quá trình tích hợp máy chủ đến máy chủ, máy chủ đấu giá gọi điểm cuối đặt giá thầu của Facebook Audience Network và tất cả các nguồn nhu cầu khác để nhận phản hồi giá thầu. Sau đó, máy chủ đấu giá chạy phiên đấu giá và chọn giá thầu thắng cuộc. Máy chủ đấu giá này có thể là máy chủ nội bộ đang chạy logic đấu giá mà bạn đã tạo hoặc có thể là máy chủ của bên thứ ba được tích hợp với tính năng đặt giá thầu trong ứng dụng của Audience Network. Điều này cho phép bạn sử dụng tài nguyên của máy chủ và mạng sẵn có để gọi các điểm cuối đặt giá thầu của nguồn nhu cầu. Đồng thời, bạn cũng có thể thực hiện các thay đổi đối với quá trình tích hợp điểm cuối này mà không cần phải cập nhật máy khách.


Tích hợp máy chủ quảng cáo bên ngoài

Tính năng tích hợp máy chủ quảng cáo bên ngoài cho phép bạn kết nối thế giới trung gian chuyển đổi ngày nay với hoạt động đặt giá thầu trong ứng dụng. Quá trình này hoạt động bằng cách tích hợp từ máy chủ đến máy chủ với các nguồn nhu cầu có hỗ trợ đặt giá thầu trong ứng dụng, sau đó chuyển người chiến thắng đấu giá đến nền tảng trung gian chuyển đổi để chạy quá trình chuyển đổi và chọn nguồn nhu cầu chiến thắng tổng thể. Sự tích hợp này đóng vai trò là cầu nối tạm thời giữa thế giới trung gian chuyển đổi và đặt giá thầu trên ứng dụng. Với loại tích hợp này, bạn không cần phải ghi lệnh logic đấu giá của riêng mình.

Yêu cầu/phản hồi ORTB và Định dạng quảng cáo được hỗ trợ

Yêu cầu ORTB

Điểm cuối đặt giá thầu của chúng tôi hỗ trợ một nhóm nhỏ giao thức OpenRTB v2.5.

Lưu ý: Vui lòng xem yêu cầu mẫu đầy đủ trong Hướng dẫn thiết lập máy chủ đấu giá

'id' => string, // platform's auction identifier,
'imp' => vec< // slots to bid on
shape(
'id' => string, // platform's identifier for this slot auction
// only for banner impression opportunities
'banner' => shape(
'w' => int, // width
'h' => int, // height
),
// only for native impression opportunities
'native' => shape(
'w' => int, // width 
'h' => int, // height 
),
// only for video impression opportunities
'video' => shape(
'w' => int, // width
'h' => int, // height
'linearity' => int, // 1 = instream, optional
'ext' => shape(
'videotype' => string, // 'rewarded' for Rewarded Video impression opportunities, optional
),
),
'tagid' => string, // Placement ID
'instl' => int, // interstitial flag, 1 = On, 0 = Off, optional
)
>,
// app details (in-app bidding only)
'app' => shape( 
'publisher' => shape(
'id' => string, // publisher app ID
),
),
'device' => shape(
'ua' => string, // device user-agent
'ifa' => string, // ID sanctioned for advertiser use
// Do not send ip or ipv6 if you are requesting bids from the client device.
// For server-side bid requests set ip or ipv6.
'ip' => string, // device IPv4
'ipv6' => string, // device IPv6
'dnt' => int, // "do not track", 1 = On, 0 = Off, optional
'lmt' => int, // "limit ad tracking", 1 = On, 0 = Off
),
'regs' => shape( // regulations object
'coppa' => int, // US FTC regulations for Children's Online Privacy Protection Act, 1 = On, 0 = Off, optional
),
'user' => shape(
'buyeruid' => string, // Audience Network Identity Token, mandatory
),
'ext' => shape(
'platformid' => string, // Mediation partner Platform ID or publisher FB app ID, mandatory
'authentication_id' => string // Authentication token to validate the originator of the request                     
),
'at' => int, // auction type: 1 = First Price, 2 = Second Price
'tmax' => int, // auction timeout in milliseconds
'test' => int, // 0 = normal, 1 = test-mode (we bid $99.99, but don't pay out), optional

Định dạng quảng cáo được hỗ trợ

Hiện tại, chúng tôi hỗ trợ 4 loại quảng cáo mà bạn có thể yêu cầu thông qua OpenRTB, đó là biểu ngữ, tự nhiên (tự nhiên hoặc biểu ngữ tự nhiên), video (video kèm phần thưởng hoặc video trong luồng) và chèn giữa. Lưu ý: bạn chỉ có thể chọn một trong các đối tượng biểu ngữ, tự nhiên và video, nhưng phải chọn ít nhất một đối tượng.

Sau đây là danh sách các định dạng quảng cáo được hỗ trợ trong yêu cầu giá thầu:

Định dạng quảng cáo Thông số trong yêu cầu giá thầu

Tự nhiên

{'id': ${AUCTION_ID}, 'native': { 'h': -1, 'w': -1 }, 'tagid': ${PLACEMENT_ID}}

Biểu ngữ tự nhiên

{'id': ${AUCTION_ID}, 'native': { 'h': -1, 'w': -1 }, 'tagid': ${PLACEMENT_ID}}

Chèn giữa

{'id': ${AUCTION_ID}, 'banner': { 'h': 0, 'w': 0 }, 'tagid': ${PLACEMENT_ID}, 'instl': 1}

Video kèm phần thưởng

{'id': ${AUCTION_ID}, 'video': { 'h': 0, 'w': 0, 'ext': { 'videotype': 'rewarded' } }, 'tagid': ${PLACEMENT_ID}}

Chèn giữa kèm phần thưởng

{'id': ${AUCTION_ID}, 'video': { 'h': 0, 'w': 0, 'ext': { 'videotype': 'rewarded_interstitial' } }, 'tagid': ${PLACEMENT_ID}}

Biểu ngữ - Chiều cao: 50

{'id': ${AUCTION_ID}, 'banner': { 'h': 50, 'w': -1 }, 'tagid': ${PLACEMENT_ID}}

Biểu ngữ - Chiều cao: 250*

{'id': ${AUCTION_ID}, 'banner': { 'h': 250, 'w': -1 }, 'tagid': ${PLACEMENT_ID}}

*Bạn có thể tạo vị trí quảng cáo Biểu ngữ hoặc Hình chữ nhật cỡ trung bình trong Trình quản lý kiếm tiền cho Định dạng quảng cáo này

Phản hồi ORTB

Phản hồi giá thầu có hiệu lực trong 30 phút. Bạn có thể yêu cầu quảng cáo bất cứ lúc nào trong vòng 30 phút kể từ khi nhận được phản hồi giá thầu. Bất kỳ lượt hiển thị nào quá 30 phút dựa trên giá thầu đều sẽ không được thanh toán.

Lưu ý: sau khi bạn yêu cầu một quảng cáo có phản hồi giá thầu, quảng cáo này có thể được lưu vào bộ nhớ đệm trên máy khách nhưng phải được hiển thị trong vòng 60 phút kể từ khi tải quảng cáo. Bất kỳ lượt hiển thị nào dựa trên quảng cáo đã lưu vào bộ nhớ đệm quá 60 phút đều sẽ không được thanh toán.

1  
'id' => string // platform's request identifier
'seatbid' => vec<
    shape(
        'bid' => vec<
            shape(
                'id' => string, // Our identifier for this bid
                'impid' => string, // platform's identifier for this slot auction
                'price' => float, // Our bid price on CPM basis, in USD
                'adm' => string, // Our creative - see Rendering The Ad
                'nurl' => string, // URL to get if we win the impression
                'lurl' => string, // URL to get if we lose the impression
            )
        >,
    ),
>,
'bidid' => string, // Our identifier for this response
'cur' => string, // bid currency: USD

Thông báo thắng thầu/thua thầu/có thể lập hóa đơn/hết thời gian chờ

Chúng tôi yêu cầu các thông báo thắng thầu, thua thầu, có thể lập hóa đơnhết thời gian chờ kèm các mã thua phù hợp như được nêu rõ trong ORTB. nurl, lurlburl trong ORTB được cung cấp trong phản hồi giá thầu. Vui lòng xem ví dụ về phản hồi giá thầu trong phần trước. Trong trường hợp hết thời gian chờ giá thầu, chúng tôi sẽ cung cấp cho bạn thông tin định tuyến báo cáo thay thế.

Thông báo thắng thầu

Nurl thắng thầu sẽ được cung cấp trong phản hồi giá thầu. Bạn cần điền Giá bù trừ trong nurl:

"https://www.facebook.com/audiencenetwork/nurl/?partner=${PARTNER_FBID}&app=${APP_FBID}&placement=${PLACEMENT_FBID}&auction=${AUCTION_ID}&impression=${IMPRESSION_ID}&request=${BID_REQUEST_ID}&bid=${BID_ID}&ortb_loss_code=0&clearing_price=${AUCTION_PRICE}"
  • ${AUCTION_PRICE}: Bạn nên thay thế mức giá này bằng Giá bù trừ đối với phiên đấu giá có cùng đơn vị với giá thầu của chúng tôi (cụ thể là USD trên cơ sở CPM).

Thông báo thua thầu

Lurl thua thầu bao gồm 2 cờ mà bạn cần điền:

"https://www.facebook.com/audiencenetwork/nurl/?partner=${PARTNER_FBID}&app=${APP_FBID}&placement=${PLACEMENT_FBID}&auction=${AUCTION_ID}&impression=${IMPRESSION_ID}&request=${BID_REQUEST_ID}&bid=${BID_ID}&ortb_loss_code=${AUCTION_LOSS}&clearing_price=${AUCTION_PRICE}"
  • ${AUCTION_LOSS}: Bạn nên thay thế mã này bằng Mã thua thầu trong ORTB.
  • ${AUCTION_PRICE}: Bạn nên thay thế mức giá này bằng Giá bù trừ đối với phiên đấu giá có cùng đơn vị với giá thầu của chúng tôi (cụ thể là USD trên cơ sở CPM).

Dưới đây là danh sách các Mã thua thầu khác nhau và Lý do thua thầu tương ứng.

Lý do thua thầuMô tảMã thua thầu trong ORTB phiên bản 2.5

Phản hồi giá thầu không hợp lệ

Giá thầu không hợp lệ (nhưng đúng giờ, không phải là không có giá thầu và đủ hợp lệ để bạn có thể trích xuất nurl)

3

Hết thời gian chờ giá thầu *

Đã nhận được phản hồi giá thầu nhưng quá muộn vì phiên đấu giá đã đóng

2

Không đặt giá thầu

Các trường hợp không đặt giá thầu được biểu thị bằng lỗi HTTP 204 (nghĩa là không có nurl để gọi), nhưng bạn có thể hiểu phản hồi của chúng tôi là không có giá thầu (có thể là sự cố tích hợp). Bạn cũng có thể yêu cầu giá thầu cho một vài lần hiển thị và chúng tôi sẽ đặt giá thầu cho một số lần chứ không phải tất cả.

9

Không phải nhà thầu RTB đưa ra giá cao nhất

Một nhà thầu khác sẽ thắng chúng tôi, bao gồm cả giá thầu tổng hợp (ví dụ: giao dịch trao đổi không phải RTB) nếu họ tham gia cùng một phiên đấu giá.

102

Khoảng không quảng cáo không hiển thị

Giá thầu của chúng tôi đã thắng phiên đấu giá, nhưng lần hiển thị không xuất hiện (ví dụ: trang không đủ dài để bao gồm vị trí này hoặc người dùng đã thoát khỏi ứng dụng trước khi quảng cáo đã lưu trong bộ nhớ đệm được sử dụng). Không phải đối tác nào cũng có thể cung cấp tính năng này (đây là trường hợp không có sự kiện), vì vậy, chúng tôi sẽ đưa ra kết luận nếu không được cung cấp.

4902

Đã gửi đến máy chủ quảng cáo

Gửi thông báo này nếu điểm tiếp xúc gần đây nhất của bạn với quy trình đưa ra quyết định đang gửi giá thầu cao của chúng tôi cho máy chủ quảng cáo. Lần hiển thị có thể vẫn bị mất do các mục hàng bị thiếu, máy chủ quảng cáo hủy bỏ phiên đấu giá hoặc khoảng không quảng cáo không hiển thị.

4900

Người thắng thầu RTB không được máy chủ quảng cáo chọn

Chúng tôi đã thắng phiên đấu giá RTB, nhưng máy chủ quảng cáo đã hủy bỏ phiên đấu giá (ví dụ: trực tiếp).

4903

Thắng thầu

Chúng tôi đã giành được chiến thắng trong toàn bộ mô hình cây quyết định, đồng thời thẻ được đặt trên trang (web) hoặc đối tượng quảng cáo được lưu trong bộ nhớ đệm (ứng dụng). Vẫn có thể không đạt được lần hiển thị có thể xem.

0

Thông báo có thể lập hóa đơn

Chúng tôi yêu cầu thông báo có thể lập hóa đơn trong trường hợp gọi lại lần hiển thị đã kích hoạt trong Audience Network SDK. Bạn cần điền Giá bù trừ trong burl:

"https://www.facebook.com/audiencenetwork/burl/?partner=${PARTNER_FBID}&app=${APP_FBID}&placement=${PLACEMENT_FBID}&auction=${AUCTION_ID}&impression=${IMPRESSION_ID}&request=${BID_REQUEST_ID}&bid=${BID_ID}&ortb_loss_code=0&clearing_price=${AUCTION_PRICE}"
  • ${AUCTION_PRICE}: Bạn nên thay thế mức giá này bằng Giá bù trừ đối với phiên đấu giá có cùng đơn vị với giá thầu của chúng tôi (cụ thể là USD trên cơ sở CPM).

Thông báo hết thời gian chờ

Trong trường hợp hết thời gian chờ giá thầu, chúng tôi sẽ cung cấp cho bạn thông tin định tuyến báo cáo thay thế. Đây là giá trị nurl chung nên có thể được gọi mà không cần phải đợi giá thầu đến. Định dạng như sau:

"https://www.facebook.com/audiencenetwork/nurl/?partner=${PARTNER_FBID}&app=${APP_FBID}&auction=${AUCTION_ID}&ortb_loss_code=2"

Lưu ý: Bạn phải điền các giá trị phù hợp cho ${PARTNER_FBID}, ${APP_FBID}${AUCTION_ID}. Bảng bên dưới cung cấp nội dung giải thích về các giá trị đó.

Thông sốLoạiMô tả

PARTNER_FBID

Int

ID máy chủ đấu giá quảng cáo do Facebook phát hành. Dùng ID ứng dụng của bạn tại đây nếu bạn không có đối tác đấu giá quảng cáo riêng.

APP_FBID

Int

ID do Facebook phát hành của ứng dụng/doanh nghiệp đã khởi tạo phiên đấu giá.

AUCTION_ID

Chuỗi

ID do khách hàng tạo của phiên đấu giá bạn đã dùng để đưa ra yêu cầu giá thầu.

Khoản thanh toán, phiên đấu giá, khả năng nhìn thấy và độ trễ

Giá và khoản thanh toán

Giá được tính theo USD trên cơ sở CPM (ví dụ: 4,25 có nghĩa là chúng tôi sẽ trả 4,25 USD/1.000 lượt hiển thị nếu chúng tôi thắng thầu). Phải sử dụng cùng một đơn vị cho giá bù trừ trong nurllurl. Khoản thanh toán được trả trực tiếp cho nhà phát hành.

Cơ chế đấu giá

Chúng tôi luôn đặt giá thầu theo mức giá đầu tiên, có nghĩa là chúng tôi thanh toán giá thầu mình đặt và đặt giá thầu với giả định rằng chúng tôi sẽ thanh toán toàn bộ số tiền đó. Điều này đồng nghĩa với việc chúng tôi sẽ gặp bất lợi trong phiên đấu giá thứ hai, khi các nhà thầu khác có thể đặt giá thầu với giả định rằng họ sẽ trả ít hơn giá thầu đó.

Khả năng nhìn thấy

Đối với lượt hiển thị trong ứng dụng, chúng tôi chỉ thanh toán nếu có người xem lượt hiển thị đó, bất kể chúng tôi có phải là người đặt giá thầu cao nhất hay không.

Độ trễ

  • Để có độ trễ tối thiểu, hãy yêu cầu một giá thầu trên mỗi lệnh gọi API (nghĩa là nếu bạn đang đấu giá 5 vị trí, hãy gọi API 5 lần, mỗi lần cho một giá thầu).
  • Chúng tôi không cung cấp điểm cuối riêng cho từng khu vực. Cơ sở hạ tầng Facebook sẽ định tuyến yêu cầu giá thầu đến trung tâm dữ liệu gần nhất.
  • Sử dụng các kết nối liên tục HTTP/2.
  • Điền thời gian chờ phiên đấu giá vào trường tmax ORTB trong yêu cầu giá thầu. Chúng tôi sẽ chọn chiến lược đặt giá thầu cân đối giữa độ trễ và hiệu quả. (Vui lòng xem ví dụ về yêu cầu giá thầu ở trên để biết thêm thông tin về tmax)
  • Để đáp ứng các mục tiêu về độ trễ, chúng tôi có thể hoãn một số quy trình xử lý nhằm ưu tiên thời gian hiển thị (tức là đặt giá thầu nhanh hơn có thể đồng nghĩa với quảng cáo hiển thị chậm hơn, còn đặt giá thầu chậm hơn dẫn đến quảng cáo hiển thị nhanh hơn).
  • Chúng tôi đang nỗ lực hết sức để cải thiện độ trễ. Bạn nên chọn thời gian chờ đặt giá thầu giữa các máy chủ là 800 mili giây.