January 2025 Release
On January 30th, we released a new version of the Wide Angle Analytics system.
This release includes several critical updates to our backend systems, focusing on stability, security, and general housekeeping tasks. These updates are not visible to our customers or their websites. Additionally, this release contains changes to the client script, which may have a minor impact on customer deployments.
TL;DR
If you leverage Suppress DoNotTrack feature of Wide Angle Analytics script, then you must update your script configuration or plugin version.
Client Script
The Wide Angle Analytics script is automatically served to your website, ensuring you always have access to the latest tracker script. This release is no exception.
Here are the changes included in this release:
Suppress DNT Parameter
A typo in data-waa-dnt-supress
has been corrected, and the setting is now called data-waa-dnt-suppress
. Please note the subtle change from supress to suppress.
If you previously used the data-waa-dnt-supress
configuration parameter, this release may affect the data you collect.
Consent API
We have added two new methods:
recordConsent(subjectId: string): void
, andrevokeConsent(): void
Example usage:
<script
id="waa"
src="https://stats.wideangle.co/script/1D1AG3B9ACA18F4247.js"
data-waa-dnt-suppress="false"
defer
async>
</script>
<script type="application/javascript">
var waaScript = document.querySelector('#waa');
waaScript.addEventListener('load', function() {
waaCreate().then(waa => { window.waa = waa; });
});
</script>
<script type="application/javascript">
window.waa.dispatchEvent('sample1'); // Event could have been blocked by Do-Not-Track setting
window.waa.recordConsent('USER92341');
window.waa.dispatchEvent('sample2'); // Event is sent successfully as an explicit consent overrides other mechanisms.
window.waa.revokeConsent();
window.waa.dispatchEvent('sample3'); // Event is not sent, and consent has been explicitly revoked.
</script>
With the addition of these two methods, our customers have even greater control over consent tracking. The priority of the consent trackers is as follows:
- Explicit override by
recordConsent
/revokeConsent
- Cookie-based Consent Marker (when provided)
- Do-Not-Track browser setting (unless explicitly suppressed)
Integrations
The changes to the client API necessitated updates to the following integrations:
VueJS
We have published a new VueJS 3.x module, version 2.0.0.
Nuxt
Our Nuxt integration has been updated to expose the previously described Consent API.
The composable useWaaEvent
from 1.x.x has been removed. The Nuxt module registered the updated composable useWideAngle
, which exposes the following API:
export interface WideAngleApi {
dispatchEvent(name: string, params: any, values: any): void;
recordConsent(subjectsId: string): void;
revokeConsent(): void;
}
Please note that useWideAngle()
returns an instance, not a reference. If the Wide Angle script loads late, the returned reference may be a stub. Therefore, we recommend using useWideAngle()
directly instead of storing its output.
<script setup>
import { useWideAngle } from '#imports';
const sendEvent = () => {
useWideAngle().dispatchEvent('basket-open', {'page': 'catalogue'}, {'item-price': 599.00, 'basket-total': 1299.00});
}
</script>
WordPress
Our official WordPress Plugin has been updated to version 1.0.9. The changes include:
- renaming of typo in supress to suppress configuration setting.
Feedback
As always, we appreciate your feedback. Please don't hesitate to contact our support if you encounter any issues.