X Pixel
X Pixel lets you collect, clean, and control your customer data. X helps you to understand your customers and personalize their experience.
Nuxt Scripts provides a registry script composable useScriptXPixel() to easily integrate X Pixel in your Nuxt app.
Nuxt Config Setup
Add this to your nuxt.config.ts to load X Pixel globally. Alternatively you can use the useScriptXPixel composable for more control.
export default defineNuxtConfig({
scripts: {
registry: {
xPixel: {
id: 'oxxxxxx',
trigger: 'onNuxtReady',
}
}
}
})This config automatically enables first-party mode (bundle + proxy). See below to customise.
useScriptXPixel()
The useScriptXPixel composable lets you have fine-grain control over when and how X Pixel is loaded on your site.
const { proxy } = useScriptXPixel()
proxy.twq('event', 'tw-xxxxx-xxxxx')Please follow the Registry Scripts guide to learn more about advanced usage.
First-Party Mode: Privacy Focused Proxy
No extra config needed. The script is bundled from your domain (faster loads, no extra DNS lookup) and runtime requests are reverse-proxied through your server with automatic anonymisation (user IPs stay hidden from X Pixel, works with ad blockers). Learn more.
export default defineNuxtConfig({
scripts: {
// ✅ First-party mode: bundled + proxied
registry: {
xPixel: {
id: 'oxxxxxx',
trigger: 'onNuxtReady',
},
},
},
})Example
Using X Pixel in a component with the proxy to send events .
<script setup lang="ts">
const { proxy } = useScriptXPixel()
// noop in development, ssr
// just works in production, client
function handleAction() {
proxy.twq('event', 'tw-xxxxx-xxxxx')
}
</script>
<template>
<div>
<button @click="handleAction">
Send Event
</button>
</div>
</template>idstring required Your X (Twitter) Pixel ID.
versionstring = '1.1'The X Pixel script version.