Install
openclaw skills install event-tracking-skillUse when you need GA4 + GTM tracking delivery from site discovery through publish, or when the right phase entry point is still unclear.
openclaw skills install event-tracking-skillUse this skill as the end-to-end coordinator for GA4 + GTM tracking delivery.
Use it when:
Do not assume the user wants the full workflow.
The skill family is split into one umbrella skill plus seven phase skills:
tracking-discover for crawl coverage, platform detection, and fresh artifact bootstraptracking-group for page-group authoring and approvaltracking-live-gtm for auditing the real live GTM runtime before schema generationtracking-schema for schema preparation, review, validation, and approvaltracking-sync for GTM config generation and synctracking-verify for preview QA and optional publish handofftracking-shopify for Shopify-specific schema, sync, install, and verification rulesIf the request is already bounded to one phase and that phase skill is available, route there instead of inlining the full runbook here.
Once site-analysis.json indicates Shopify, keep discovery and grouping shared, then let tracking-shopify own the Shopify-specific branch.
event-tracking in this repository. If dist/cli.js is missing, run npm run build first.event-tracking command: npx skills add jtrackingai/analytics-tracking-automation.<output-root>/<url-slug>.analyze.event-tracking status <artifact-dir-or-file> whenever the current checkpoint or next step is unclear.event-tracking runs <output-root> when the artifact directory is unknown but the output root is known.run-new-setup, run-tracking-update, run-upkeep, run-health-audit.yes/no on the user's behalf, and continue through the interactive prompt so the local config records their choice.analyze, validate-schema --check-selectors, preview, and sync each need outbound HTTP and a real Chromium; sync additionally needs a local loopback callback on 127.0.0.1 for Google's OAuth consent redirect. Run them in an environment that permits those capabilities so Playwright and the OAuth callback can complete.--account-id, --container-id, and --workspace-id values are already confirmed.When the user enters through chat and has not yet provided a bounded phase, artifact directory, or exact command, start with an intent-first intake.
Classify the request into one of these entry intents:
resume_existing_run: the user already has an artifact directory or one of its files; inspect the artifacts and use statusnew_setup: net-new tracking implementation from scratch; prefer run-new-setup, then follow its recommended next steptracking_update: revise or extend an existing implementation; prefer run-tracking-updateupkeep: routine maintenance, review, or incremental QA on an existing setup; prefer run-upkeeptracking_health_audit: audit-only assessment of current live tracking; prefer run-health-auditanalysis_only: crawl/bootstrap/discovery only without committing to the full workflow yet; route to tracking-discover and stop after analyzeRules:
analyze.new_setup.analysis_only.resume_existing_run instead of restarting from analyze.Route by user intent and current artifacts:
tracking-discoversite-analysis.json with missing or unconfirmed pageGroups: route to tracking-groupsite-analysis.json with detected live GTM container IDs but no live baseline review yet: route to tracking-live-gtmsite-analysis.json or an in-progress event-schema.json: route to tracking-schemaevent-schema.json without gtm-config.json: route to tracking-sync for generate-gtmgtm-config.json: route to tracking-syncgtm-context.json: route to tracking-verify, with publish treated as a separate explicit actiontracking-shopifyIf only the root skill is available, follow the same routing logic directly and stop at the matching phase boundary.
prepare-schema.pageGroups (before confirm-page-groups and before prepare-schema)event-schema.json (before confirm-schema and before generate-gtm)sync)publish)yes or no, stop and ask instead of making the decision for them.confirm-page-groups --yes or confirm-schema --yes unless the user explicitly confirms that checkpoint in the current turn.generate-gtm unless the user explicitly wants --force.tracking-health.json as the publish gate; do not jump to publish when health is missing, manual-only, or blocked unless the user explicitly wants --force.tracking_health_audit as an audit-only workflow mode. Do not run GTM deployment actions (generate-gtm, sync, publish) unless the user explicitly asks to override.When resuming:
workflow-state.json when presentstatus when the next step is unclearWhen a phase or the full workflow ends, keep the closeout answer-first: