Skip to content
Back to skills

434 Gotchas 30378f48

ASecurity

**Check:** 1. Tool enabled in dashboard (green dot) 2. Trigger conditions met 3. Consent granted for tool's purpose 4. Tool credentials correct (GA4: `G-XXXXXXXXXX`, FB: numeric only)

  • 9 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 11, 2026
developmentjavascriptgojavareactapiperformance

Works with

  • cli
  • api

Security analysis

A100/100

Scanned October 11, 2026

npx -y skills add tools-only/X-Skills --skill 434-gotchas_30378f48 --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of 434 Gotchas 30378f48?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for 434 Gotchas 30378f48
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/tools-only-434-gotchas-30378f48/badge)](https://www.skillsdirectory.com/skills/tools-only-434-gotchas-30378f48)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

SKILL.md
# Zaraz Gotchas

## Events Not Firing

**Check:**
1. Tool enabled in dashboard (green dot)
2. Trigger conditions met
3. Consent granted for tool's purpose
4. Tool credentials correct (GA4: `G-XXXXXXXXXX`, FB: numeric only)

**Debug:**
```javascript
zaraz.debug = true;
console.log('Tools:', zaraz.tools);
console.log('Consent:', zaraz.consent.getAll());
```

## Consent Issues

**Modal not showing:**
```javascript
// Clear consent cookie
document.cookie = 'zaraz-consent=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;';
location.reload();
```

**Tools firing before consent:** Map tool to consent purpose with "Do not load until consent granted".

## SPA Tracking

**Route changes not tracked:**
1. Configure History Change trigger in dashboard
2. Hash routing (`#/path`) requires manual tracking:
```javascript
window.addEventListener('hashchange', () => {
  zaraz.track('pageview', { page_path: location.pathname + location.hash });
});
```

**React fix:**
```javascript
const location = useLocation();
useEffect(() => {
  zaraz.track('pageview', { page_path: location.pathname });
}, [location]); // Include dependency
```

## Performance

**Slow page load:**
- Audit tool count (50+ degrades performance)
- Disable blocking triggers unless required
- Reduce event payload size (<100KB)

## Tool-Specific Issues

| Tool | Issue | Fix |
|------|-------|-----|
| GA4 | Events not in real-time | Wait 5-10 min, use DebugView |
| Facebook | Invalid Pixel ID | Use numeric only (no `fbpx_` prefix) |
| Google Ads | Conversions not attributed | Include `send_to: 'AW-XXX/LABEL'` |

## Data Layer

- Properties persist per page only - set on each page load
- Nested access: `{{client.__zarazTrack.user.plan}}`

## Limits

| Resource | Limit |
|----------|-------|
| Request size | 100KB |
| Consent purposes | 20 |
| API rate | 1000 req/sec |

## When NOT to Use Zaraz

- Server-to-server tracking (use Workers)
- Real-time bidirectional communication
- Binary data transmission
- Authentication flows

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.