Back to Blog

January 2025 Release

Published on: 2025-1-30

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.

We have added two new methods:

  • recordConsent(subjectId: string): void, and
  • revokeConsent(): 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:

  1. Explicit override by recordConsent/revokeConsent
  2. Cookie-based Consent Marker (when provided)
  3. 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.