-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Concerns from adserver perspective #20
Comments
Hi and thanks for filing your concerns! First, there are reasons for not sending attribution data to third parties:
Second, addressing some of the things you bring up:
|
@johnwilander Regarding the things you mention:
Best regards, |
Thank you for sharing your thoughts! I'm sorry I didn't get back to you earlier. However, this issue touches on a large number of concerns. Please file individual concerns for consideration. |
Hello everyone,
as an adserving company we develop software which allows our clients to track conversions. We understand that Privacy is important and therefore like to contribute to this initiative here. Anyhow, the proposal seems to not cover the current market situation on how tracking is done. Here are the main issues we see with the proposal:
In short: In order to display an ad there will always be (much) more than only two parties involved. In most cases, the website itself doesnt care about the conversions happening. In most cases it will be the agency and the advertiser, sometimes the dsp, who want to track the conversion.
Hence: The attribution needs to be able to cover more than one conversion targets.
In order to track a conversion there is always at least 2 information necessary: a) where did the click happen (the placement on the website, e.g. if its a banner on the top of the page, left side, right side, native ad, ...) and b) on which creative was clicked (in most cases a campaign would include many creatives). In most cases there will even be a third identifier necessary (e.g. for the advertiser to identify which website the click was on).
Hence: Having only one campaign identifier is not sufficient for tracking. As it would only tell which campaign triggered the conversion, but not which creative, which placement or which website.
In most cases adtech companies work with incrementing numbers for all identifiers. this means that a normal adtech solution uses IDs that are much higher than 64. limiting the identifyer to 64 is not sufficient for tracking. We recommend to increase the number to at least 65k (16 bit). We understand that numbers this high are a potential privacy risk and are open to discuss lower numbers. Anyhow, a limitation to 6bits is tooooo little for any tracking logic as most adtech companies deal with thousands of live campaigns, websites, placements and creatives.
Conversion tracking is not only limited to clicks but also to impressions. It is important to be able to track if a user that saw an ad that converted in a sale (although he did not click on the ad). In many cases we see that users see an ad and will then later search for the brand name and buy something. Advertisers need to be able to attribute this sale to the impression.
Using HTML attributes seems inflexible and involves many changes on publisher side. At the same time it does not allow for click conversions via javascript and multiple redirects.
In order to prevend conversion-fraud it is necessary for the advertiser to report order-numbers or similar identifiers to its reporting system so it can later check which orders were cancelled by the buyer and which were paid.
in some cases it is essential for an advertiser to count only one conversion - in other cases it is essential to count all conversions of the same user. hence it should not be up to the browser to decide which conversion is fired and which not.
it is essential for the advertiser to understand what kind of conversion happend. e.g. if it was a sale, a submit of a form or any other event. therefore the conversion needs to get a "type" or some kind of identifier telling the advertiser about the conversion itself.
Our proposal:
In order to cover the above issues, we propose to go a different direction:
In order to enable tracking we propose a combination of html and custom http headers:
x-tracking-campaign: 12345
x-tracking-creative: 52736
x-tracking-placement: 59999
x-tracking-info: 72517
Note: it should also be possible for an adserver to simply fire a pixel that, when loaded by the browser, sends these http headers. this way the adserver can enable post-view conversion tracking in case no click happens. in addition to that, there should be a way for the adserver to tell the browser how view-data vs. click-data is treated (e.g. if click is more important than impression or if the first tracked event is more important than the last or if the last event is more important than the first regardless of the type, ...)
example: if the pixel was <img src="https://www.myadserver.com/abc/def/something" ad-tracking-campaign="12345" ad-track-conversion-type="7261" ..> the browser will send the following HTTP GET to www.myadserver.com via HTTPS:
GET /.well-known/ad-tracking/conversion-7261
x-tracking-campaign: 12345
x-tracking-creative: 52736
x-tracking-placement: 59999
x-tracking-info: 72517
(alterative: all ids could be send via the http request url)
The advantages of this proposal is, that it would be fully compatible with all browsers, whether they support it or not: A browser that does not support this feature, will still fire the normal pixels and tracking will still work as before. a browser that supports the feature will block the tracking pixels and use the privacy-tracking logic.
additional privacy considerations:
in order to prevent fingerprinting, we recommend to limit the use of subdomains: An adserver could use the subdomain on a short term conversion to transfer user identification e.g. if the click url includes the domain user8122531.ads.adserver.com. on the conversion page, the adserver would typically use a script in order to write the tracking pixel into the page. the adserver could associate the ip of the user to the domain and the script could now write a tracking pixel with the same domain into the page. a later call to this tracking pixel would still reveal the user's full ID and therefore must be blocked to keep the privacy. hence we recommend to only allow a certain amount of characters per subdomain or even only whitelist certain subdomains (in this case ads.adserver.com)
The text was updated successfully, but these errors were encountered: