# AdsPing
> AdsPing is a server-side conversion tracking platform. It captures events on a
> customer's website (via a first-party script, pb.js) or Shopify store and
> forwards them server-to-server to Meta Conversions API, TikTok Events API,
> Google Ads, GA4, and generic webhooks — so conversions are still
> tracked when ad blockers, Safari ITP, or iOS privacy features block
> client-side pixels.
Key facts:
- Category: server-side tagging / conversions API gateway (alternative to Stape, WeTracked, Elevar).
- Who it's for: paid-acquisition teams, e-commerce stores (Shopify app available), and lead-gen businesses.
- Install: one script tag, a Shopify app, WordPress, Google Tag Manager, or any website builder. No developer required for the default setup.
- Destinations: Meta CAPI, TikTok Events API, Google Ads (offline/enhanced conversions), GA4, custom webhooks.
- CRM integrations for lead-quality feedback: Salesforce, HubSpot, Zoho CRM, Pipedrive.
- Browser + server deduplication with a shared event_id; failed deliveries retry with backoff.
- Custom tracking domains (e.g. track.yourbrand.com) on higher tiers.
- Every plan starts with a 14-day free trial. Pricing: https://adsping.io/pricing
## Script attributes (pb.js)
The loader is one tag. Only `data-pixel-id` is required:
- `data-pixel-id` (required) — the pixel ID from the dashboard.
- `data-api` (default `https://api.adsping.io`) — alternate ingest host, used with a custom tracking domain.
- `data-ignore-datalayer` (default `false`) — set to `"true"` and AdsPing never reads or wraps `window.dataLayer`.
By default pb.js listens to `window.dataLayer` and converts the standard GA4
e-commerce pushes (purchase, add_to_cart, begin_checkout, view_item, …) into
AdsPing events, and reads identity from `dataLayer.user_data` (email, phone,
first_name, last_name).
Turn that bridge off with `data-ignore-datalayer="true"` when Google Tag
Manager already fires the Meta or TikTok tag itself. Otherwise one sale is
recorded twice — once from the `purchase` dataLayer push, and once from the
ad-platform tag that push triggers, which pb.js also mirrors. The two copies
get different event ids, so nothing can deduplicate them and both conversion
count and revenue double.
With the bridge off the dataLayer itself is untouched — GA4 and other
consumers keep working. Identity must then come from `adsping('identify', …)`
instead of `dataLayer.user_data`.
If your site already fires its own Meta pixel (fbq), AdsPing mirrors that call.
Firing fbq AND calling adsping('track','Purchase') for the same sale sends us
two copies with different event ids, which nothing can deduplicate — conversions
and revenue double. Generate one id per order and pass it to both:
fbq('track','Purchase', params, { eventID: id }) and
adsping('track','Purchase', { ..., event_id: id }).
Never send a constant placeholder address (email@email.com, test@test.com,
noreply@…, anything @example.com) as the email. AdsPing rejects those: one
address shared by every visitor would file them all as the same person. The
ingest response returns `warnings: ["placeholder_email_ignored"]` when it
happens. Send the real address or send none.
## Main pages
- [Home](https://adsping.io/): product overview
- [Pricing](https://adsping.io/pricing): plans and trial details
- [Contact](https://adsping.io/contact)
## Integrations
- [Meta Conversions API](https://adsping.io/integrations/meta-capi): server-side Facebook/Instagram tracking with event_id dedup and match quality scoring
- [TikTok Events API](https://adsping.io/integrations/tiktok-events-api): server-side TikTok tracking with ttclid capture
- [Google Ads](https://adsping.io/integrations/google-ads): gclid-anchored conversion uploads via the Google Ads API
- [GA4](https://adsping.io/integrations/ga4): Measurement Protocol forwarding with session stitching
- [Shopify](https://adsping.io/integrations/shopify): webhook-based order tracking covering checkout.shopify.com
## Comparisons
- [All alternatives](https://adsping.io/compare)
- [AdsPing vs Stape](https://adsping.io/compare/stape): Server-side GTM hosting. Full anti-adblock stack costs $100/mo — AdsPing includes it from $29.
- [AdsPing vs WeTracked](https://adsping.io/compare/wetracked): Event forwarding with basic counts. AdsPing adds delivery health, match quality, and UTM attribution.
- [AdsPing vs Elevar](https://adsping.io/compare/elevar): Shopify-only data layer and tracking. AdsPing covers Shopify plus any website, CRM, and WhatsApp.
- [AdsPing vs AnyTrack](https://adsping.io/compare/anytrack): Affiliate-focused conversion bridge. AdsPing is built for paid social and search with delivery visibility.
- [AdsPing vs Triple Whale](https://adsping.io/compare/triple-whale): Shopify analytics suite with a pixel add-on. AdsPing is a dedicated conversion-delivery engine at a fraction of the price.
- [AdsPing vs Hyros](https://adsping.io/compare/hyros): High-end attribution starting near $230/mo with a sales call. AdsPing is self-serve from $29/mo.
## Documentation
### Getting started
- [Overview](https://adsping.io/docs)
- [Quickstart](https://adsping.io/docs/quickstart)
### Installation
- [Pick your platform](https://adsping.io/docs/install)
- [Web (any site)](https://adsping.io/docs/install/web)
- [Shopify](https://adsping.io/docs/install/shopify)
- [WooCommerce](https://adsping.io/docs/install/woocommerce)
- [WordPress (no store)](https://adsping.io/docs/install/wordpress)
- [React / Next.js](https://adsping.io/docs/install/react)
- [Google Tag Manager](https://adsping.io/docs/install/gtm)
- [Website builders](https://adsping.io/docs/install/website-builders)
- [Custom tracking domain](https://adsping.io/docs/install/custom-domain)
### Track events
- [Pick an event](https://adsping.io/docs/events)
- [identify() & advanced matching](https://adsping.io/docs/events/identify)
- [Standard event names](https://adsping.io/docs/events/standard)
- [Custom events](https://adsping.io/docs/events/custom)
### Destinations
- [Meta CAPI](https://adsping.io/docs/destinations/meta)
- [Custom website](https://adsping.io/docs/destinations/meta/custom-website)
- [Integration guide](https://adsping.io/docs/destinations/meta/integrate)
- [Manual token](https://adsping.io/docs/destinations/meta/manual)
- [TikTok Events API](https://adsping.io/docs/destinations/tiktok)
- [Manual setup](https://adsping.io/docs/destinations/tiktok/manual)
- [Google Ads](https://adsping.io/docs/destinations/google-ads)
- [Custom website](https://adsping.io/docs/destinations/google-ads/custom-website)
- [Conversion actions](https://adsping.io/docs/destinations/google-ads/conversion-actions)
- [Manual setup](https://adsping.io/docs/destinations/google-ads/manual)
- [GA4](https://adsping.io/docs/destinations/ga4)
- [Manual setup](https://adsping.io/docs/destinations/ga4/manual)
### CRM integrations
- [Overview](https://adsping.io/docs/integrations)
- [Salesforce](https://adsping.io/docs/integrations/salesforce)
- [HubSpot](https://adsping.io/docs/integrations/hubspot)
- [Zoho CRM](https://adsping.io/docs/integrations/zoho)
- [Pipedrive](https://adsping.io/docs/integrations/pipedrive)
### Testing & debugging
- [Test Event Code](https://adsping.io/docs/testing)
- [Verifying setup](https://adsping.io/docs/testing/verify)
- [Diagnostics](https://adsping.io/docs/testing/diagnostics)
### Billing
- [Plans & pricing](https://adsping.io/docs/billing/plans)
- [Per-pixel subscription](https://adsping.io/docs/billing/per-pixel)
- [Trial & cancellation](https://adsping.io/docs/billing/trial)
### Reference
- [Event ingestion API](https://adsping.io/docs/api/events)
- [FAQ](https://adsping.io/docs/faq)
## Legal
- [Privacy policy](https://adsping.io/privacy)
- [Terms of service](https://adsping.io/terms)
- [Data processing agreement](https://adsping.io/dpa)
- [Security](https://adsping.io/security)