@easyflow/pixel
Version:
Easyflow client-side pixel SDK
122 lines (87 loc) โข 3.17 kB
Markdown
# @easyflow/pixel
Client-side SDK for event tracking in Easyflow checkouts.
This SDK encapsulates the **Meta (Facebook)**, **Google**, and **TikTok** tracking pixels, allowing standardized event
sending through a unified interface. In addition, all events are also reported to Easyflow's API for storage, auditing,
and retry processing.
## โจ Features
- Dynamic loading of third-party pixel scripts
- Automatic mapping of Easyflow events to platform-specific events
- Simultaneous dispatch to Meta, Google, and TikTok
- Full logging of all events to Easyflow backend
- Rich metadata collection from the client environment
## ๐ Installation
```bash
npm install @easyflow/pixel
```
## ๐ง Usage
```ts
import {EasyflowPixel, Events} from '@easyflow/pixel';
const pixel = new EasyflowPixel('BUSINESS_ID_HERE', 'FINGERPRINT_ID_HERE', {
product: 'PRODUCT_ID_HERE',
offer: 'OFFER_ID_HERE',
checkout: 'CHECKOUT_ID_HERE',
paymentLink: 'PAYMENT_LINK_ID_HERE',
});
await pixel.init();
pixel.track(Events.CHECKOUT_INITIALIZED);
pixel.track(Events.PURCHASE_COMPLETED, {
value: 349.90,
currency: 'BRL',
transaction_id: 'ORD102983'
});
```
## ๐ฏ Available Events
```ts
export enum Events {
CHECKOUT_INITIALIZED = 'checkout-initialized',
PURCHASE_COMPLETED = 'purchase-completed',
PURCHASE_FAILED = 'purchase-failed',
PURCHASE_BTN_CLICKED = 'purchase-btn-clicked',
PIX_SELECTED = 'pix-selected',
PIX_GENERATED = 'pix-generated',
PIX_EXPIRED = 'pix-expired',
PIX_COPIED = 'pix-copied',
CREDIT_CARD_SELECTED = 'credit-card-selected',
CREDIT_CARD_FORM_COMPLETED = 'credit-card-form-completed',
BANK_BILLET_SELECTED = 'bank-slip-selected',
BANK_BILLET_GENERATED = 'bank-slip-form-completed',
ADDRESS_FORM_COMPLETED = 'address-form-completed',
DELIVERY_ADDRESS_COMPLETED = 'delivery-address-completed',
COUPON_ADDED = 'coupon-added',
COUPON_BOX_CLICKED = 'coupon-box-clicked',
COUPON_FORM_COMPLETED = 'coupon-form-completed',
COUPON_APPLY_FAILED = 'coupon-apply-failed',
USER_FORM_COMPLETED = 'user-form-completed',
PRE_CHECKOUT_FORM_COMPLETED = 'pre-checkout-form-completed'
}
```
## ๐ฆ Production Deployment
Make sure to:
- Only include the SDK in your checkout pages
- Call `await pixel.init()` before tracking any events
## ๐งช Telemetry & Logging
All events are reported to Easyflow with:
- Navigation context
- UTM metadata
- Fingerprint identification
- Page visibility state
- Page performance metrics
- Delivery attempts and platform status
## ๐ Privacy
- No sensitive user data is stored
- Supports cookie policy and Do Not Track (DNT)
## Additional Resources
- [Easyflow Digital](https://easyflow.digital): Official website of Easyflow.
- [Easyflow API Documentation](https://docs.easyflow.digital): Detailed API documentation for Easyflow.
- [Support Site](https://easyflow.digital/contact): Contact Easyflow support for assistance.
- [Support Email](mailto:contato@easyflow.digital): Email Easyflow support for queries.
## ๐งพ License
MIT License ยฉ [Easyflow](https://easyflow.digital)