cloudflare
references/zaraz/configuration.md
.md 91 lines
Content
# Zaraz Configuration
## Dashboard Setup
1. Domain → Zaraz → Start setup
2. Add tool (e.g., Google Analytics 4)
3. Enter credentials (GA4: `G-XXXXXXXXXX`)
4. Configure triggers
5. Save and Publish
## Triggers
| Type | When | Use Case |
|------|------|----------|
| Pageview | Page load | Track page views |
| Click | Element clicked | Button tracking |
| Form Submission | Form submitted | Lead capture |
| History Change | URL changes (SPA) | React/Vue routing |
| Variable Match | Custom condition | Conditional firing |
### History Change (SPA)
```
Type: History Change
Event: pageview
```
Fires on `pushState`, `replaceState`, hash changes. **No manual tracking needed.**
### Click Trigger
```
Type: Click
CSS Selector: .buy-button
Event: purchase_intent
Properties:
button_text: {{system.clickElement.text}}
```
## Tool Configuration
**GA4:**
```
Measurement ID: G-XXXXXXXXXX
Events: page_view, purchase, user_engagement
```
**Facebook Pixel:**
```
Pixel ID: 1234567890123456
Events: PageView, Purchase, AddToCart
```
**Google Ads:**
```
Conversion ID: AW-XXXXXXXXX
Conversion Label: YYYYYYYYYY
```
## Consent Management
1. Settings → Consent → Create purposes (analytics, marketing)
2. Map tools to purposes
3. Set behavior: "Do not load until consent granted"
**Programmatic consent:**
```javascript
zaraz.consent.setAll({ analytics: true, marketing: true });
```
## Privacy Features
| Feature | Default |
|---------|---------|
| IP Anonymization | Enabled |
| Cookie Control | Via consent purposes |
| GDPR/CCPA | Consent modal |
## Testing
1. **Preview Mode** - test without publishing
2. **Debug Mode** - `zaraz.debug = true`
3. **Network tab** - filter "zaraz"
## Limits
| Resource | Limit |
|----------|-------|
| Event properties | 100KB |
| Consent purposes | 20 |