@flusterduck/vue
Vue.js rage click detection and UX analytics. Composable + plugin. Tracks dead clicks, form abandonment, scroll frustration. Hotjar/FullStory alternative for Vue apps.
4,079
| Install | |
|---|---|
npm install @flusterduck/vue |
|
| Latest Version: | 0.7.19 |
| Vue: | 3 |
| License: | Custom |
| Last Updated: | Oct 18, 2026 |
| Links: | npm |
Maintainer: flusterducks
@flusterduck/vue
Vue.js integration for Flusterduck. Provides a FlusterduckPlugin for app-level initialization and a useFlusterduck composable for tracking helpers.
Installation
npm install flusterduck @flusterduck/vue
Plugin usage
Install the plugin in your app entry point. This initializes the SDK once for the entire app.
// main.ts
import { createApp } from 'vue';
import { FlusterduckPlugin } from '@flusterduck/vue';
import App from './App.vue';
const app = createApp(App);
app.use(FlusterduckPlugin, {
key: 'fd_pub_...',
environment: 'production',
});
app.mount('#app');
Composable usage
Use useFlusterduck in any component to get tracking helpers. The SDK must already be initialized via the plugin or a prior init call.
<script setup lang="ts">
import { useFlusterduck } from '@flusterduck/vue';
const { signal, track, identify, setConsent, optOut } = useFlusterduck();
</script>
<template>
<button @click="signal('checkout_error', { element: '#pay-btn' })">
Pay
</button>
</template>
Consent gating
app.use(FlusterduckPlugin, {
key: 'fd_pub_...',
respectDoNotTrack: true,
});
After mounting, call setConsent(true) from any component to start tracking if the user was initially excluded by DNT or GPC.
API
signal(name: string, data?: { element?: string; metadata?: Record<string, unknown>; weight?: number }): void
track(name: string, metadata?: Record<string, unknown>): void
identify(segment: Record<string, string>): void
setConsent(consented: boolean): void
optOut(): void
All Config options from the core flusterduck package are supported as plugin options.
Related Packages
@flusterduck/nuxt
Nuxt rage click detection and UX analytics. Client plugin factory that tracks de...
3,970
Version History
| Version | Released | Vue | License |
|---|---|---|---|
| 0.7.19 | >=3.3.0 | Custom | |
| 0.7.18 | >=3.3.0 | Custom | |
| 0.7.17 | >=3.3.0 | Custom | |
| 0.7.16 | >=3.3.0 | Custom | |
| 0.7.15 | >=3.3.0 | Custom | |
| 0.7.10 | >=3.3.0 | Custom | |
| 0.7.9 | >=3.3.0 | Custom | |
| 0.7.8 | >=3.3.0 | Custom | |
| 0.7.5 | >=3.3.0 | Custom | |
| 0.7.4 | >=3.3.0 | Custom | |
| 0.7.3 | >=3.3.0 | Custom | |
| 0.7.2 | >=3.3.0 | Custom | |
| 0.7.0 | >=3.3.0 | Custom | |
| 0.5.7 | >=3.3.0 | Custom | |
| 0.5.6 | >=3.3.0 | Custom | |
| 0.5.5 | >=3.3.0 | Custom | |
| 0.5.4 | >=3.3.0 | Custom | |
| 0.5.2 | >=3.3.0 | Proprietary | |
| 0.2.1 | >=3.3.0 | Proprietary | |
| 0.2.0 | >=3.3.0 | Proprietary | |
| 0.1.2 | >=3.3.0 | Proprietary | |
| 0.1.0 | >=3.3.0 | Proprietary |