[ PROMPT_NODE_24518 ]
Zaraz API 参考
[ SKILL_DOCUMENTATION ]
# Zaraz Web API
用于跟踪事件、设置属性和管理许可的客户端 JavaScript API。
## zaraz.track()
javascript
zaraz.track('button_click');
zaraz.track('purchase', { value: 99.99, currency: 'USD', item_id: '12345' });
zaraz.track('pageview', { page_path: '/products', page_title: 'Products' }); // SPA
**参数:** `eventName` (字符串), `properties` (对象, 可选)。即发即忘。
## zaraz.set()
javascript
zaraz.set('userId', 'user_12345');
zaraz.set({ email: '[email protected]', plan: 'premium', country: 'US' });
属性在页面会话期间持久存在。用于用户识别和细分。
## zaraz.ecommerce()
javascript
zaraz.ecommerce('Product Viewed', { product_id: 'SKU123', name: 'Widget', price: 49.99 });
zaraz.ecommerce('Product Added', { product_id: 'SKU123', quantity: 2, price: 49.99 });
zaraz.ecommerce('Order Completed', {
order_id: 'ORD-789', total: 149.98, currency: 'USD',
products: [{ product_id: 'SKU123', quantity: 2, price: 49.99 }]
});
**事件:** `Product Viewed`, `Product Added`, `Product Removed`, `Cart Viewed`, `Checkout Started`, `Order Completed`
工具会自动映射到 GA4、Facebook CAPI 等。
## 系统属性(触发器)
{{system.page.url}} {{system.page.title}} {{system.page.referrer}}
{{system.device.ip}} {{system.device.userAgent}} {{system.device.language}}
{{system.cookies.name}} {{client.__zarazTrack.userId}}
## zaraz.consent
javascript
// 检查
const purposes = zaraz.consent.getAll(); // { analytics: true, marketing: false }
// 设置
zaraz.consent.modal = true; // 显示模态框
zaraz.consent.setAll({ analytics: true, marketing: false });
zaraz.consent.set('marketing', true);
// 监听
zaraz.consent.addEventListener('consentChanged', () => {
if (zaraz.consent.getAll().marketing) zaraz.track('marketing_consent_granted');
});
**流程:** 在仪表板中配置目的 → 将工具映射到目的 → 显示模态框/以编程方式设置 → 工具在被允许时触发
## zaraz.debug
javascript
zaraz.debug = true;
zaraz.track('test_event');
console.log(zaraz.tools); // 查看已加载的工具
## Cookie 方法
javascript
zaraz.getCookie('session_id'); // Zaraz 命名空间
zaraz.readCookie('_ga'); // 任何 cookie
## 异步行为
所有方法均为即发即忘。事件被批量处理并异步发送:
javascript
zaraz.track('event1');
zaraz.set('prop', 'value');
zaraz.track('event2'); // 全部批量处理
## TypeScript 类型
typescript
inte