# Atribu

> Marketing attribution platform for performance agencies. Connects Meta Ads, Google Ads, GoHighLevel CRM, Stripe, MercadoPago, Shopify, and WhatsApp to show which ads drive real revenue — not just clicks.

## Product

- [Homepage](https://www.atribu.app): Headless attribution for your AI agent, your app, and your team — connect Meta, Google, your CRM and your payments, get the truth about what earns, send it back to Meta
- [Atribu MCP](https://www.atribu.app/mcp): MCP server for Claude, Cursor & ChatGPT — 30+ live tools over campaign, revenue, and attribution data
- [API Quickstart](https://www.atribu.app/docs/api/quickstart): Get an API key and make your first request in under 2 minutes
- [AI Media Buyer](https://www.atribu.app/ai-media-buyer): Agent that audits ad accounts overnight — pause, scale, reallocate, refresh, all approval-gated and verified on Meta
- [Healthcare Mode](https://www.atribu.app/healthcare): HIPAA-safe Meta ads for clinics — PII stripped at the source, allowlist-only exports, signed BAA
- [Conversion Sync](https://www.atribu.app/conversion-sync): Sends CRM bookings and real payments back to Meta CAPI and Google with true values
- [Pricing](https://www.atribu.app/#pricing): Free $0 (1 ad account), Growth $99/mo, Agency $349/mo (up to 25 client accounts), Enterprise Custom — Free, Growth and Agency are self-serve at /signup (?plan=growth or ?plan=agency), Enterprise talks to us first
- [Book a Demo](https://www.atribu.app/demo): For Agency and Enterprise buyers who want a guided setup instead of self-serve
- [How It Works](https://www.atribu.app/#shift): The agent audits overnight, matches revenue, briefs you at 07:58 — you approve, it executes and verifies on Meta

## Key Features

- 5 attribution models: last touch, first touch, linear, time decay, last non-direct
- AI-powered creative refresh: ad copy and video-script generation for ads the AI Media Buyer flags as fatiguing
- Conversion Sync: feeds real conversions back to Meta CAPI and Google Ads for better optimization
- Automated client reporting with email delivery and PDF export
- WhatsApp conversation tracking and Click-to-WhatsApp ad attribution
- Shopify integration with new vs returning customer classification and N-CAC calculations
- Agency workspace with isolated client profiles and role-based access control

## Integrations

Ad Platforms: Meta Ads, Google Ads
CRMs: GoHighLevel
Payments: Stripe, MercadoPago
E-commerce: Shopify
Messaging: WhatsApp (CTWA attribution, Embedded Signup)

## API

> Base URL: https://www.atribu.app/api/v1
> Auth: Bearer token (API key starting with atb_live_)
> OpenAPI spec: https://www.atribu.app/api/v1/openapi.json

### Endpoint families

- **Analytics**: `/overview`, `/timeseries`, `/channels`, `/pages`, `/countries`, `/devices`, `/browsers`, `/os`, `/referrers`
- **Campaigns + Ads**: `/campaigns`, `/campaign-trends`, `/ads`, `/ads/ranking`, `/top-performers`, `/creative-patterns`
- **Conversions + Customers**: `/conversions`, `/customers`, `/customers/{id}/journey`, `/goals`
- **Tracking + Quality**: `/visitors`, `/quality`, `/keywords`
- **Messaging (OAuth provider — for consumer apps like Vitrina)**:
  - `POST /messages` — send WhatsApp / Instagram messages (text, template, media via media_id or HTTPS link, quick replies)
  - `POST /comments/{id}/private-reply` — DM the user who left an IG comment
  - `POST /comments/{id}/reply` — public reply on an IG comment thread
- **Webhooks (subscription management)**:
  - `GET/POST/PATCH/DELETE /webhooks/subscriptions[/{id}]`
  - `POST /webhooks/subscriptions/{id}/rotate-secret` — atomic dual-key rotation with grace window
  - `POST /webhooks/test/{id}` — fire a synthetic signed event
  - `POST /webhooks/deliveries/{id}/replay` — re-enqueue an existing delivery payload

### OAuth provider

For sibling apps that need to consume Atribu's WhatsApp / Instagram connections instead of registering their own Meta App:

- `GET /oauth/authorize` — authorization-code grant with PKCE + signed `id_token_hint`
- `POST /oauth/token` — client_secret_basic or _post; returns an `atb_live_*` API key
- `POST /oauth/revoke` — RFC 7009 token revocation
- The minted API key has a tracked `oauth_app_id`, gated by per-connection `oauth_app_authorizations` rows on send.

## Getting Started

- [The golden path](https://www.atribu.app/docs/getting-started/overview): Thirteen steps from signing up to a Purchase landing in Meta's Test Events tab — the same journey whether a person clicks it or an agent drives it.
- [Step 2 — Create your account](https://www.atribu.app/docs/getting-started/create-account): The one step in the whole path that a program cannot do for you, and the two ways to reach it.
- [Step 3 — Workspace and profile](https://www.atribu.app/docs/getting-started/workspace-and-profile): One container, one profile per advertised business — and why the distinction decides what every later call means.
- [Step 4 — Credentials](https://www.atribu.app/docs/getting-started/credentials): Which credential to hold — and why the one you already have from step 2 is usually enough.
- [Step 5 — Install the tracker](https://www.atribu.app/docs/getting-started/install-tracker): Add the Atribu tracker to your website to capture visitors, sessions, and conversions
- [Step 6 — Connect Meta and Google](https://www.atribu.app/docs/getting-started/connect-ads): Link Meta and Google Ads to import campaigns, spend, and performance data
- [Step 7 — Connect your CRM](https://www.atribu.app/docs/getting-started/connect-crm): Sync contacts, deals, appointments, and pipeline stages from GoHighLevel
- [Step 8 — Connect payments](https://www.atribu.app/docs/getting-started/connect-payments): Link Stripe or MercadoPago to attribute real revenue to your ad campaigns
- [Step 9 — Define conversions](https://www.atribu.app/docs/getting-started/define-conversions): Turn the events Atribu is already storing into the conversions it counts — the step that decides what your ROAS is made of.
- [Step 10 — Verify](https://www.atribu.app/docs/getting-started/verify): One call that says what is still missing, in order — and how to tell a broken setup from one that is merely waiting.
- [Step 11 — Send it back to Meta](https://www.atribu.app/docs/getting-started/send-to-meta): A destination, a rule, and a test event you can find in Meta's Test Events tab — the end of the golden path.
- [Step 12 — DPA and plan](https://www.atribu.app/docs/getting-started/dpa-and-plan): A signature and a payment: the two steps that stay human however good your agent is.
- [Step 13 — What next](https://www.atribu.app/docs/getting-started/what-next): Setup is not a state you reach; it is one you keep. How to find out something broke without looking.

## For AI Agents

- [For AI agents](https://www.atribu.app/docs/agents): Everything a program needs to take a human from a fresh email to a Purchase landing in Meta — the bootstrap, the discovery documents, the readiness read, and the hand-off pattern.

## Tracking

- [How Tracking Works](https://www.atribu.app/docs/tracking/how-tracking-works): Understand how Atribu records visitor activity on your website
- [Auto-Capture](https://www.atribu.app/docs/tracking/auto-capture): Automatic detection of form submissions, booking completions, and payment redirects
- [Identify Users](https://www.atribu.app/docs/tracking/identify-users): Connect anonymous website visitors to real people for full attribution
- [Visitor Consent](https://www.atribu.app/docs/tracking/consent): How the Atribu tracker honours your visitors' consent — setConsent, Google Consent Mode v2 and IAB TCF — and what it stops doing when consent is denied
- [Scheduler Redirects](https://www.atribu.app/docs/tracking/scheduler-redirects): Identify visitors from Calendly, GoHighLevel and Acuity thank-you redirects — opt-in, and the details are removed from the address bar
- [Custom Events](https://www.atribu.app/docs/tracking/custom-events): Track any action on your website as a custom event
- [npm Package (@atribu/tracker)](https://www.atribu.app/docs/tracking/npm-package): Official TypeScript SDK for Atribu — install via npm for full type safety, framework integration, and SSR support
- [Framework Guides](https://www.atribu.app/docs/tracking/framework-guides): Set up @atribu/tracker in React, Next.js, Vue 3, Svelte, and vanilla JavaScript
- [Custom Domain](https://www.atribu.app/docs/tracking/custom-domain): Use your own domain for tracking to improve data accuracy
- [Same-Origin Collector](https://www.atribu.app/docs/tracking/same-origin-collector): Keep returning visitors identified on Safari and iPhone for up to 400 days by serving Atribu from a path on your own site
- [Same-Origin Collector for Next.js / Vercel](https://www.atribu.app/docs/tracking/same-origin-collector-nextjs): Add a Route Handler to your Next.js app to get the same 400-day, Safari-proof visitor identity as the Cloudflare Worker template
- [WordPress / WooCommerce Plugin](https://www.atribu.app/docs/tracking/wordpress-plugin): Install the same-origin collector on WordPress and send WooCommerce cart, checkout and purchase events to Atribu
- [UTM Parameters](https://www.atribu.app/docs/tracking/utm-parameters): Tag your traffic sources so Atribu knows where your visitors come from

## Integrations

- [Meta (Facebook & Instagram)](https://www.atribu.app/docs/integrations/meta): Connect your Meta ad accounts to sync campaigns, ad spend, and enable conversion tracking with CAPI.
- [Google Ads](https://www.atribu.app/docs/integrations/google-ads): Connect your Google Ads account to sync campaigns, ad spend, and export conversions for optimization.
- [Stripe](https://www.atribu.app/docs/integrations/stripe): Connect Stripe to track every payment as a conversion and attribute revenue to the ad campaigns that drove it.
- [GoHighLevel (GHL)](https://www.atribu.app/docs/integrations/gohighlevel): Connect GoHighLevel to sync contacts, opportunities, appointments, and pipeline stages for full-funnel attribution.
- [MercadoPago](https://www.atribu.app/docs/integrations/mercadopago): Connect MercadoPago to track payments from Latin American customers and attribute revenue to ad campaigns.
- [Fintoc (bank transfers)](https://www.atribu.app/docs/integrations/fintoc): Link your own bank account through Fintoc so received transfers become attributable cash, matched to customers by the sender's RUT.
- [Webpay (Transbank)](https://www.atribu.app/docs/integrations/webpay): Carry the ad click through Webpay Plus checkout so every Chilean card payment attributes to the campaign that produced it.
- [Shopify](https://www.atribu.app/docs/integrations/shopify): Connect your Shopify store to track orders and customers, and attribute e-commerce revenue to ad campaigns.
- [Google Search Console](https://www.atribu.app/docs/integrations/google-search-console): Connect Google Search Console to see which organic search queries drive traffic to your site.

## Settings

- [Conversion Goals](https://www.atribu.app/docs/settings/goals): Define what counts as a conversion and how revenue is tracked
- [Attribution Windows](https://www.atribu.app/docs/settings/attribution-windows): Configure how far back Atribu looks when attributing conversions to touchpoints
- [Team & Workspace](https://www.atribu.app/docs/settings/team): Manage team members, roles, and workspace settings

## Features

- [AI Media Buyer](https://www.atribu.app/docs/features/ai-media-buyer): Daily, guardrailed recommendations to scale, pause, reallocate, and refresh your ads — every change previewed, approved by you, and verified against Meta.
- [Dashboard](https://www.atribu.app/docs/features/dashboard): Your mission control for marketing performance — KPIs, charts, traffic sources, and top campaigns at a glance.
- [Traffic Sources](https://www.atribu.app/docs/features/traffic-sources): Understand where your visitors come from — channels, referrers, countries, devices, and more.
- [Ads Performance](https://www.atribu.app/docs/features/ads-performance): Rank and analyze all your campaigns, ad sets, and individual ads by the metrics that matter.
- [Conversion Sync](https://www.atribu.app/docs/features/conversion-sync): Send high-confidence conversion signals back to Meta and Google Ads for better optimization
- [Customer Journeys](https://www.atribu.app/docs/features/customer-journey): See the exact path each customer took from first ad click to payment — every touchpoint, every channel.
- [Reports](https://www.atribu.app/docs/features/reports): Generate branded marketing performance reports to share with clients or your team.
- [Calendar](https://www.atribu.app/docs/features/calendar): See all your appointments and conversions on a timeline with attribution data.
- [Data Quality](https://www.atribu.app/docs/features/data-quality): Monitor and improve the accuracy of your attribution data with identity repair and tracking quality metrics.

## Concepts

- [Attribution Models](https://www.atribu.app/docs/concepts/attribution-models): 5 attribution models: last touch, first touch, linear, time decay, and last non-direct
- [Channel Classification](https://www.atribu.app/docs/concepts/channels): How traffic sources are automatically classified into marketing channels
- [Revenue Types](https://www.atribu.app/docs/concepts/revenue-types): Cash vs pipeline vs gross -- why only confirmed payments count for ROAS
- [Identity Resolution](https://www.atribu.app/docs/concepts/identity-resolution): How Atribu connects anonymous visitors to real customers across devices and channels
- [Synthetic Touches](https://www.atribu.app/docs/concepts/synthetic-touches): How Atribu attributes off-site conversions that never visit your website

## API Reference

- [Quickstart](https://www.atribu.app/docs/api/quickstart): Connect an AI agent to Atribu with OAuth — no account required before you start
- [Authentication](https://www.atribu.app/docs/api/authentication): API key setup, scopes, rate limits, and security best practices
- [Credentials](https://www.atribu.app/docs/api/credentials): API keys, MCP tokens, sessions — which one to hold, and which routes each one can never reach.
- [Errors](https://www.atribu.app/docs/api/errors): API error codes, HTTP status, and what to do about each one
- [Deprecation policy](https://www.atribu.app/docs/api/deprecation-policy): What happens before an endpoint changes or goes away, and how you find out
- [Changelog](https://www.atribu.app/docs/api/changelog): Every developer-facing change to the /api/v1 surface, newest first
- [Workspaces & Profiles](https://www.atribu.app/docs/api/workspaces): Create the container and the account being measured — the first two objects that have to exist before anything else works.
- [Demo profile](https://www.atribu.app/docs/api/demo-profile): Sixty days of seeded data on a real profile, run through the real attribution engine, with a CAPI destination that records instead of sending.
- [Connections](https://www.atribu.app/docs/api/connections): Read what a profile is connected to — and start a connect your agent cannot grant itself, by handing a URL to a human.
- [Tracking & Server-Side Events](https://www.atribu.app/docs/api/tracking): Tracking keys, the installer payloads, and the two ways a system posts an outcome it already knows about.
- [Conversion Definitions](https://www.atribu.app/docs/api/goals): The rules that turn raw outcome events into conversions — the step that decides what your ROAS is made of.
- [Channel Rules](https://www.atribu.app/docs/api/channel-rules): How raw traffic gets a channel name — and how to change the mapping without guessing what it will re-label.
- [Profile & Data Quality](https://www.atribu.app/docs/api/profile): The profile's own settings and the reads that say whether its numbers can be trusted.
- [Readiness](https://www.atribu.app/docs/api/readiness): One ordered checklist of what a profile still needs, and the single next thing to do about it.
- [Conversion Sync](https://www.atribu.app/docs/api/conversion-sync): Configure where a profile's conversions are sent, map them to platform events, verify with a Meta test event, then export.
- [Hand-offs](https://www.atribu.app/docs/api/handoffs): Give the user this URL, poll this handle: how an agent gets through the steps only a human can take.
- [Legal (DPA / BAA)](https://www.atribu.app/docs/api/legal): Your agent cannot sign a contract. Mint a signing hand-off, give the URL to a person, and poll.
- [Billing](https://www.atribu.app/docs/api/billing): Read the plan and its limits, then mint a Stripe Checkout hand-off when the human needs to pay.
- [Overview](https://www.atribu.app/docs/api/overview): GET /api/v1/overview — KPIs, revenue, ROAS, visitors
- [Timeseries](https://www.atribu.app/docs/api/timeseries): GET /api/v1/timeseries — Daily visitors, pageviews, revenue, and spend over time.
- [Breakdowns](https://www.atribu.app/docs/api/breakdowns): Traffic source, page, country, device, browser, OS, and referrer breakdown endpoints.
- [Campaigns](https://www.atribu.app/docs/api/campaigns): Campaign performance, ROAS, ad-level breakdowns, and daily spend trends.
- [Creative analysis](https://www.atribu.app/docs/api/creative-analysis): Read an ad's AI creative analysis, or queue one on demand.
- [Conversions & Revenue](https://www.atribu.app/docs/api/conversions): Conversion counts, daily trends, attributed revenue, and cash collected by source.
- [Customers & Journey](https://www.atribu.app/docs/api/customers): Paginated customer list with conversion data, and full event timeline per customer.
- [Identity](https://www.atribu.app/docs/api/identity): Merge proposals, the repair scan, and the one rule that keeps a person from being split in two forever.
- [Visitors & Realtime](https://www.atribu.app/docs/api/visitors): Visitor list, live visitor count, keywords, and attribution quality
- [Recommendations](https://www.atribu.app/docs/api/recommendations): The AI media buyer's suggestions, how to apply one safely, and why the apply is idempotent.
- [Reports](https://www.atribu.app/docs/api/reports): Templates, schedules, generation and delivery — the client-facing artifact an agency actually sends.
- [Webhooks](https://www.atribu.app/docs/api/webhooks): Subscribe to what Atribu finishes, instead of polling it — including the platform lifecycle events an agent waits on.
- [Messaging & Social](https://www.atribu.app/docs/api/messaging): The WhatsApp, Instagram, email and calendar surface — an index of every route, and where each one is explained in depth.
- [Commerce](https://www.atribu.app/docs/api/commerce): The merchant's catalogue and the order lookup — the pull half of the commerce sync.
- [Partners & OAuth Apps](https://www.atribu.app/docs/api/partners): The surface a sibling product integrates against: OAuth-app credentials, zero-bounce provisioning, and the WhatsApp join.

## SDKs

- [SDKs](https://www.atribu.app/docs/sdks): Official Atribu SDKs for Node.js servers and browser tracking
- [@atribu/node](https://www.atribu.app/docs/sdks/node): Official Node.js SDK for the Atribu API — authorize users, send WhatsApp & Instagram messages, and verify signed webhook deliveries.
- [@atribu/tracker](https://www.atribu.app/docs/sdks/tracker): Official browser tracking SDK — page views, sessions, engagement, outbound links, file downloads, forms, bookings, all auto-captured.

## MCP Server

- [MCP Server](https://www.atribu.app/docs/mcp/overview): Connect AI tools like Claude Code and Cursor to your attribution data via the Model Context Protocol
- [Quickstart](https://www.atribu.app/docs/mcp/quickstart): Connect an AI agent to Atribu over OAuth — no account required before you start
- [Connect an AI client](https://www.atribu.app/docs/mcp/connect-clients): The exact MCP configuration for Claude, Claude Code, Cursor, ChatGPT and everything else — no token to copy
- [Connect to Claude](https://www.atribu.app/docs/mcp/connect-claude): Add Atribu as a native connector in Claude Desktop or Claude.ai with one-click OAuth — no token to copy or paste
- [Authentication](https://www.atribu.app/docs/mcp/authentication): MCP token scopes, rate limits, usage metering, and key management
- [Available Tools](https://www.atribu.app/docs/mcp/tools): 56 MCP tools: the onboarding golden path (provision, tracking install, connect hand-offs, conversion definitions, Meta CAPI setup), performance summaries, funnel analysis, traffic breakdowns, campaign drill-downs, customer journeys, workspace creative intelligence, recommendations, and Meta CAPI write-back
- [Write-Back (Meta CAPI)](https://www.atribu.app/docs/mcp/write-back): Push attributed conversions to Meta Conversions API with preview, dry-run, and confirm safety flow
- [Privacy & PII](https://www.atribu.app/docs/mcp/privacy): How PII masking works, workspace privacy settings, and how to configure unmasked access
- [Error Reference](https://www.atribu.app/docs/mcp/errors): MCP error codes, what they mean, and how to fix them
- [Claude Code Skill](https://www.atribu.app/docs/mcp/skill): Install the opinionated Atribu skill so Claude Code applies our attribution rules automatically

## Healthcare & HIPAA

- [Healthcare Mode](https://www.atribu.app/docs/healthcare/overview): HIPAA-compliant attribution and ad optimization for healthcare businesses
- [Healthcare Onboarding](https://www.atribu.app/docs/healthcare/onboarding): Step-by-step guide to set up HIPAA-compliant attribution in Atribu
- [Export Allowlist](https://www.atribu.app/docs/healthcare/export-allowlist): Control exactly which event types can be sent to ad platforms in HIPAA mode
- [Support Runbook](https://www.atribu.app/docs/healthcare/support-runbook): Troubleshooting guide for healthcare account issues and blocked exports
- [Migration Guide](https://www.atribu.app/docs/healthcare/migration): Switch existing profiles from standard to HIPAA mode safely
- [Incident Response](https://www.atribu.app/docs/healthcare/incident-response): PHI breach detection, containment, and notification procedures

## Machine-Readable Resources

- [Sign Up](https://www.atribu.app/signup): Create a free workspace — no card, no demo required
- [OpenAPI 3.1 Spec (JSON)](https://www.atribu.app/api/v1/openapi.json): Full API schema with request/response types
- [MCP Server](https://mcp.atribu.app/mcp): Streamable-HTTP MCP endpoint — 30+ tools over campaign, revenue, and attribution data
- [OAuth Authorization Server Metadata](https://www.atribu.app/.well-known/oauth-authorization-server): RFC 8414 discovery document for the OAuth provider
- [Full Documentation (Markdown)](https://www.atribu.app/llms-full.txt): Complete docs concatenated as markdown
- [Raw Page Markdown](https://www.atribu.app/api/docs/{path}): Individual doc pages as raw markdown
