这是indexloc提供的服务,不要输入任何密码
Skip to content

Guidance and clarification regarding CPC billing #1104

@omriariav

Description

@omriariav

Hi all,

Background:
A common model in native advertising is CPC. A native advertising platform charges the advertiser when a user clicks a sponsored content item (ad).

Ad tech platforms engage in different use cases that involve campaign stoppage (avoiding overcharging), billing accountability, bid optimization, bid tuning, campaign pacing, and other related issues (see this case from three years ago—#175).

In PAAPI, these use cases will happen in the client upon generating the bid (buyer) and scoring the ad (seller).

To support CPC billing, we need to keep real-time reporting.

What we know:
Until the aggregate reporting and fenced frames reporting APIs are enforced in 2026, the following event-level reportings are currently available:

  • reportWin - buyer reporting on render (buyer)
  • reportResult - this is called with the bid that won the auction (seller)
  • Ad tech platform (SSP) own click event (coming from the renderUrl rendering in the iframe)

According to the explainer, registerAdBeacon() and registerAdMacro() functions can report the click event within the fenced frame. However, fenced frame does not support native advertising yet, and both of those functions are missing information about the bid and ad cost. There is also ambiguity in the document regarding these functions availability in the current stage of event-level reporting.

Challenge:
CPC billing is impossible.

There is a race condition between:
reportWin and reportResult events with the CPC (these events are reporting the bid and adCost values) - fired upon win and render of the ad, and not when the user is clicking the ad.
And:
The SSP own click reporting event that lacks the CPC billing value as it just comes from the renderUrl within the iframe

Open questions:

  • Given the race condition and the gap between the click itself and the auction events, how would you recommend performing CPC billing as long as event-level reporting is available?
  • Assuming the fenced frame will fully support native advertising by 2026, what is your recommendation on adopting the Fenced frame reporting, Aggregate reporting the Private Aggregation APIs to accomplish CPC billing? Can you provide a walkthrough? (for example, we are worried about noise and delay that can disrupt the billing process)
  • We see the bid field as a representation of the CPM value and adCost as the representation of billing upon click, viewable impression, an action, or any other event. Can you please confirm this?

We're seeking clarity on implementing 'CPC billing' effectively, especially considering the current challenges.

Thank you!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions