syndicate-add-attribution
Original:🇺🇸 English
Translated
Install Syndicate Links conversion attribution using the shipped merchant API. Covers Shopify backends, generic checkouts, SaaS apps, webhook workers, and agent surfaces without relying on draft-only SDKs or CDN scripts.
1installs
Added on
NPX Install
npx skill4agent add cmcgrabby-hue/attribution-skills syndicate-add-attributionTags
Translated version includes tags in frontmatterSKILL.md Content
View Translation Comparison →Syndicate Links Attribution Install
Use this skill when a merchant needs to report orders into Syndicate Links attribution.
The live rail is server-side conversion reporting:
http
POST https://api.syndicatelinks.co/merchant/conversions
Authorization: Bearer mk_live_...This skill intentionally omits draft-only browser SDK, CDN snippet, and CLI verification paths. Use the authenticated merchant API only.
Prerequisites
- A Syndicate Links merchant account
- A merchant API key with scope
conversions:fire - A valid Syndicate Links tracking code for the affiliate or agent link being credited
- Server-side access to the order completion path
Never put a merchant API key in browser JavaScript, Liquid templates, mobile apps, or public repos.
1. Identify the conversion boundary
Pick the backend point that runs once per completed order:
- Shopify: order status webhook, server app, or Shopify Function/backend worker
- Generic checkout: server-side success handler or payment webhook
- SaaS app: backend route called after payment succeeds
- Agent or MCP surface: server process that knows the selected tracking code
The implementation is the same for every surface: collect order data server-side, then call .
POST /merchant/conversions2. Capture the tracking code
Syndicate Links conversion fire expects , not .
trackingCodepublisherCodeCommon sources:
- Tracking link code returned by
POST /affiliate/links - Code stored when the buyer entered through a Syndicate Links click URL
- Code supplied by an approved agent publisher flow
Persist the tracking code with the cart, checkout session, customer session, or order metadata so the backend can access it after payment completes.
3. Fire the conversion
bash
curl -sS -X POST https://api.syndicatelinks.co/merchant/conversions \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"trackingCode": "trk_abc123",
"orderId": "order_123",
"saleAmount": 99.99,
"currency": "USD"
}' | python3 -m json.toolOptional fields supported by the implementation include and when your system has them. Keep stable and unique.
clickIditemsorderIdA successful response is with a conversion event, commission information, attribution metadata, and tracking fee details.
201 Created4. Verify recent conversions
bash
curl -sS "https://api.syndicatelinks.co/merchant/conversions?limit=5" \
-H "Authorization: Bearer $TOKEN" | python3 -m json.toolLook for:
- The expected
orderId - matching the order total
saleAmount - of
statusorpendingconfirmed - populated
affiliateId - set, usually
attributionMethodunless a click match upgraded ittracking_code
Platform notes
Shopify
Do not paste merchant API keys into theme Liquid. Use an authenticated backend app, order webhook, or server function. Store the tracking code in order metadata if you capture it before checkout.
Generic checkout
Call the conversion endpoint from the payment success webhook or server success route. Do not call it from a browser thank-you page.
SaaS apps
Call the conversion endpoint from your backend payment handler, for example a Stripe, Paddle, Chargebee, or Lemon Squeezy webhook worker.
Agent surfaces
If an AI agent can choose or recommend a merchant link, have it pass the selected tracking code to the merchant server. The merchant server still performs the authenticated conversion fire.
Common pitfalls
- Wrong endpoint. Use with no version prefix.
https://api.syndicatelinks.co/merchant/conversions - Wrong amount field. The API expects , not
saleAmount.amount - Wrong attribution field. The API expects , not
trackingCode.publisherCode - Client-side secrets. Merchant API keys must stay server-side.
- Duplicate order IDs. Reusing can cause reporting and reconciliation drift.
orderId
Links
- API reference: https://syndicatelinks.co/docs/api-reference
- Getting started: https://syndicatelinks.co/docs/getting-started
- Agent readiness: https://syndicatelinks.co/llms.txt
- Agent manifest: https://syndicatelinks.co/.well-known/agent.json