Launch offer — early users get 1 month of Premium, free. Get started →

Conversion tracking

Server postback conversions: track sales with POST /conversions

A server postback records a conversion by sending a POST /conversions call from your backend to directinapp. You send JSON with the link's slug, an event name, value and currency, and the dashboard shows counts, total value and conversion rate per link. It is shipped and works today. Signed, HMAC-verified postbacks are on the roadmap.

What is a server postback for conversions?

A server postback records a conversion by sending a POST /conversions request from your backend to directinapp. The JSON body carries the link's slug, an event name, value, currency and optional metadata like an orderId. Because it fires server-to-server it's more reliable than a browser pixel. It's shipped today; HMAC-signed postbacks are on the roadmap.

Why it matters

01

Fires from your backend, not the browser

A server postback is a direct POST from your server to POST /conversions, so it records the sale even when a browser blocks the tracking pixel or the customer closes the tab. It is server-to-server, shipped and available now.

02

A plain JSON body you can send today

No SDK to wait for. POST /conversions takes JSON: slug (or linkId), eventName, value, currency and an optional metadata object. cURL, Node, Python or any backend can fire it as-is. Selling on Razorpay or UPI? Drop the same call into your own Razorpay success/thank-you handler to report the sale yourself; native Razorpay/UPI webhook auto-capture is on the roadmap, not live yet.

03

India-first, multi-currency reporting

Every link shows conversion count, total value, conversion rate, a per-event-name breakdown, a timeseries and a per-conversion feed. Totals are kept per currency (INR, USD, EUR, GBP, AED) and never blindly summed across currencies, so your rupee numbers stay rupee numbers.

Set it up

Three steps, no developer

01

Copy your link slug

Open the directinapp link you want to measure and note its slug, for example diwali-sale. You can also use its linkId. Ingestion is always on for every link on every plan, so there is nothing to switch on.

02

POST to /conversions from your success page

From your payment success or thank-you handler, send: POST /conversions with body { "slug": "diwali-sale", "eventName": "purchase", "value": 499, "currency": "INR", "metadata": { "orderId": "RZP-1042" } }. Use slug OR linkId. If you sell on Razorpay or UPI, drop this call into your Razorpay success/thank-you page to report the sale yourself; native Razorpay/UPI webhook auto-capture is on the roadmap, not live yet.

03

Read the report in Business

Open the link's conversion report to see counts, total value, rate, the per-event breakdown, timeseries and per-conversion feed. Sending postbacks is free on every plan; VIEWING the reports needs the Business tier, and a non-Business account gets a 402 upgrade prompt. The free trial month is full Business, so you can see everything first.

On the roadmap — Signed, HMAC-verified postbacks and dedup/idempotency are planned; today POST /conversions accepts unsigned requests, so keep it server-to-server.

Frequently asked questions

What is a server postback for conversion tracking?+

A server postback is a POST /conversions request your backend sends to directinapp to record a conversion against a link. The JSON body carries the link slug (or linkId), an eventName like purchase, a value, a currency and optional metadata. Because it fires server-to-server it is more reliable than a browser pixel. It is shipped and works today.

How do I fire the postback URL?+

Send POST /conversions with a JSON body: { "slug": "diwali-sale", "eventName": "purchase", "value": 499, "currency": "INR", "metadata": { "orderId": "RZP-1042" } }. Use either slug or linkId. Put the call in your payment success handler so it runs the moment a sale completes.

Do I need the Business plan to send postbacks?+

No. Conversion ingestion is always on for every link on every plan, so any account can POST /conversions. The Business tier (Rs 999/mo, or Rs 9,999/yr plus GST) is what unlocks VIEWING the reports; a non-Business account gets a 402 upgrade prompt when it opens them. The free trial month is full Business.

Can it auto-capture Razorpay or UPI payments?+

Not automatically yet. Today you report those sales manually by firing the postback (or the pixel) yourself from your Razorpay success or thank-you page. Native Razorpay / UPI / Stripe webhook auto-capture is on the roadmap, not live.

Can I see which click or visitor a conversion came from?+

Not today. Attribution is per-link only, so you know a link drove N conversions worth X, but not which specific click or visitor. Per-visitor, per-click attribution (a dia_clid click id) is planned on the roadmap; until then the feed's source columns stay effectively empty.

Are the postbacks signed or verified?+

Not yet. Today the endpoint accepts unsigned POSTs, so keep the call server-to-server and off any public page. HMAC-signed, verified postbacks plus dedup / idempotency are on the roadmap, along with a JavaScript SDK and Shopify / WooCommerce apps.

More on conversion tracking

directinapp Business

The full conversion-tracking product — pricing, setup and a live demo.

Conversion tracking

Conversion tracking is measuring the real outcomes a link drives — a sale, a signup, a lead — not just the clicks. You tell your analytics tool "this counts as a conversion, worth this much," and it ties that outcome back to the link that earned it. directinapp does this per link today: fire a pixel or a postback when a sale happens, and see the count, the rupee value and the conversion rate for that exact link.

Instagram sales tracking

Yes — you can track sales and signups from an Instagram bio link or reel. Put your store or checkout behind a directinapp link, fire our pixel on your payment success page, and the Business report shows the count, rupee value and conversion rate that link drove. Because a bio or reel is one link, attribution is per-link — you know the link earned the sales, not which follower.

vs Linktree

Linktree tells you a link got clicked. directinapp tells you it drove 12 purchases worth Rs 5,988. On any link you can fire our tracking pixel or server postback with a sale value, and the Business tier shows conversion count, total value and conversion rate per link, per currency (INR/USD/EUR/GBP/AED). Today attribution is per-link, and payment-webhook auto-capture is on the roadmap.

Tracking pixel

A tracking pixel for links is a tiny 1×1 image you load when a sale happens. Point an img tag at GET /c?s=SLUG&e=purchase&v=499&cur=INR and directinapp records one conversion — with its rupee value — against the link that drove it. No SDK, no cookie, no code beyond one line of HTML.

Lead tracking

Yes — you can track leads and signups from any directinapp link today. Fire a "lead" or "signup" event from your form's thank-you page with our pixel or postback, and each link shows its lead count, conversion rate, and a per-event breakdown. Attribution is per-link today; per-visitor is on the roadmap.

Razorpay tracking

Yes — you can track Razorpay sales from your directinapp links today. Drop the directinapp pixel or server postback onto your Razorpay success page, and every paid order shows up against the link that drove it: order count, total rupees, and conversion rate. It's manual (you fire the pixel on success); automatic webhook capture is on the roadmap.

Stop losing clicks at the browser

Create your first smart link in under a minute and see where every tap really goes.

Start free

No credit card required · 7-day free trial