Events fired via EventLogging inspects the DNT header and does not send events when it is present.
For the VirtualPageView schema, in order to have consistency with how we track page views we will need to send the event regardless of whether that header is present.
Per Sam's suggestion this should be done solely in the Popups extension, not EventLogging.
Further background:
https://phabricator.wikimedia.org/T187277#4052896
- Readers Web will opt for #3: we'll use parts of the core EventLogging client-side API in order to construct the correct URL to request and make the request using `sendBeacon` inside of the Page Previews codebase, e.g.
```lang=js,name=[0]
const eventData = {
// ...
};
const payload = mw.eventLog.prepare( 'VirtualPageview', eventData);
const url = mw.eventLog.makeBeaconUrl( payload );
navigator.sendBeacon( url );
```
== Testing criteria
Verify that events are sent to the VirtualPageView schema even if Chrome is [[ https://lifehacker.com/everywhere-you-can-enable-do-not-track-1006138985 | configured ]] to send the do not track header.
Verify the same for Firefox.