@hevelop/nuxt-criteo-onetag v2.0.0
Criteo Tracking Plugin for Nuxt.js
This plugin integrates Criteo's tracking events into a Nuxt.js application, allowing you to easily track user interactions such as page visits, product views, cart actions, and transactions.
Installation
Install the plugin using npm:
npm install @hevelop/nuxt-criteo-onetagUsage
Add the plugin to your
nuxt.config.jsfile.export default { modules: [ // Add the Criteo plugin to your modules 'nuxt-criteo-tracking', ], criteoOnetag: { enabled: true, }, };Use the
$criteofunctions to trigger various tracking events in your app.
Available Methods
The plugin provides multiple methods for different tracking events:
loadCriteoTag()
Loads the Criteo OneTag and triggers a loader event.
Example:
this.$criteo.loadCriteoTag();visitTag({ email, hashMethod, customerId, visitorId, zipcode, deviceType })
Tracks a generic page visit.
Parameters:
id: Your Criteo account ID.email(optional): User's email.hashMethod(optional): Hashing method for the email (e.g.,sha256).customerId(optional): Customer ID.visitorId(optional): Retailer visitor ID.zipcode(optional): User's zipcode.deviceType(optional): Device type (d,m, ortfor desktop, mobile, or tablet).
Example:
this.$criteo.visitTag({
id: 'YOUR_CRITEO_ACCOUNT_ID',
email: 'user@example.com',
hashMethod: 'sha256',
customerId: '12345',
visitorId: 'visitor123',
zipcode: '12345',
deviceType: 'd',
});homepageTag({ email, hashMethod, customerId, visitorId, zipcode, deviceType })
Tracks a homepage visit.
Parameters: Same as visitTag.
Example:
this.$criteo.homepageTag({
id: 'YOUR_CRITEO_ACCOUNT_ID',
email: 'user@example.com',
hashMethod: 'sha256',
customerId: '12345',
visitorId: 'visitor123',
zipcode: '12345',
deviceType: 'd',
});categoryTag({ category, customerId, visitorId, zipcode, deviceType, productIds })
Tracks a category or listing page view.
Parameters:
category: The category name.productIds: Array of product IDs viewed.- Other parameters are the same as
visitTag.
Example:
this.$criteo.categoryTag({
id: 'YOUR_CRITEO_ACCOUNT_ID',
category: 'Electronics',
productIds: ['prod123', 'prod456'],
customerId: '12345',
visitorId: 'visitor123',
zipcode: '12345',
deviceType: 'd',
});productTag({ email, hashMethod, customerId, visitorId, zipcode, deviceType, productId, price, availability })
Tracks a specific product view.
Parameters:
productId: The product ID.price: Product price.availability: Availability status (InStock,OutOfStock).- Other parameters are the same as
visitTag.
Example:
this.$criteo.productTag({
id: 'YOUR_CRITEO_ACCOUNT_ID',
productId: 'prod123',
price: 99.99,
availability: 'InStock',
email: 'user@example.com',
hashMethod: 'sha256',
customerId: '12345',
visitorId: 'visitor123',
zipcode: '12345',
deviceType: 'd',
});addToCartTag({ email, hashMethod, customerId, visitorId, zipcode, deviceType, item })
Tracks adding an item to the cart.
Parameters:
item: An object with the product details (e.g.,{ id: 'prod123', price: 99.99, quantity: 1 }).- Other parameters are the same as
visitTag.
Example:
this.$criteo.addToCartTag({
id: 'YOUR_CRITEO_ACCOUNT_ID',
item: { id: 'prod123', price: 99.99, quantity: 1 },
email: 'user@example.com',
hashMethod: 'sha256',
customerId: '12345',
visitorId: 'visitor123',
zipcode: '12345',
deviceType: 'd',
});basketTag({ email, hashMethod, customerId, visitorId, zipcode, deviceType, cartItems })
Tracks a view of the cart.
Parameters:
cartItems: An array of items in the cart, each containingproductId,quantity, andprice.- Other parameters are the same as
visitTag.
Example:
this.$criteo.basketTag({
id: 'YOUR_CRITEO_ACCOUNT_ID',
cartItems: [
{ productId: 'prod123', quantity: 2, price: 49.99 },
{ productId: 'prod456', quantity: 1, price: 149.99 },
],
email: 'user@example.com',
hashMethod: 'sha256',
customerId: '12345',
visitorId: 'visitor123',
zipcode: '12345',
deviceType: 'd',
});salesTag({ email, hashMethod, customerId, visitorId, zipcode, deviceType, orderId, cartItems, transactionValue })
Tracks a completed transaction.
Parameters:
orderId: The order ID.cartItems: An array of items purchased.transactionValue: Total value of the transaction.- Other parameters are the same as
visitTag.
Example:
this.$criteo.salesTag({
id: 'YOUR_CRITEO_ACCOUNT_ID',
orderId: 'order123',
cartItems: [
{ productId: 'prod123', quantity: 2, price: 49.99 },
{ productId: 'prod456', quantity: 1, price: 149.99 },
],
transactionValue: 249.97,
email: 'user@example.com',
hashMethod: 'sha256',
customerId: '12345',
visitorId: 'visitor123',
zipcode: '12345',
deviceType: 'd',
});Configuration
All methods require the id parameter, which is your Criteo account ID.
License
MIT License. See the LICENSE file for details.
Contributing
Contributions are welcome! Please submit issues and pull requests for any improvements.