# User Engagement Data

### **Our Approach**

We've always been conscious of how we're being tracked online, so we wanted to ensure that the analytics tool we built for Bubble plugins prioritises transparency, security and privacy above all else. We know that it's not just your data but the data of your plugin user's that is being entrusted to us. Below we map out how we collect, store and use this data.&#x20;

### Definitions

**We** = PluginPulse

**You** = Bubble plugin developer using PluginPulse for analytics

**User** = Bubble application developer using the plugin developed by You

**End user** = The user of the Bubble application

### How we track user engagement data

The code snippet that you include in your plugin HTML header in the shared tab loads a small [javascript function](https://pluginpul.se/js/script.js) that accesses the window object to fetch the **application ID** and **plugin version**.&#x20;

The **application ID** is then hashed and truncated to 12 characters so that we never know which Bubble app is using your plugin. Obviously this means you won't be able to identify the user of your plugin either, but this was important for us to maintain their privacy and achieve a permission-less GDPR compliant setup.

Hashing is an irreversible process, however, an application ID always hashes the same way and thus a hashed value could be "discovered" through trial and error. Even though it might take a few centuries to crack, it's still not GDPR compliant. Because of this, we take the additional step of hashing the hashed ID for a second time on the server, this time with a [salt](https://en.wikipedia.org/wiki/Salt_\(cryptography\)) known only to us.&#x20;

All of this means we never know the original application ID and the value that we end up storing is different to what was sent in the first place, ensuring that our data set can't be linked to another data set (very much GDPR compliant).

### **Text to add to your plugin page**

To continue our mission of transparency, we have written up a little disclaimer that you can include when answering yes to the question of whether you track user data (required by Bubble's [marketplace policies](https://bubble.io/marketplace-policies)). Include this text in the input field that appears when submitting a new version.

> *We use PluginPulse to improve our plugin through analytics and performance tracking. You can read about which data is collected in their data tracking guide here -* [*https://pluginpul.se/data-tracking-guide*](https://pluginpul.se/data-tracking-guide)

<figure><img src="/files/CsvHXG26E6dVbffIqU9A" alt="" width="375"><figcaption></figcaption></figure>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://plugin-pulse.gitbook.io/docs/gdpr-data-handling/user-engagement-data.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
