# Trakinit

> Trakinit connects every channel (ads, podcasts, email, TV, affiliates, AI search) to every sale on Amazon, Shopify, Walmart, in store and in app. Server-side, cookie-free attribution with a confidence score on every match.

Trakinit is web-based marketing attribution software. It recognizes 30 ad, email and affiliate click IDs and 70+ channels and sources, matches sales by click ID, hashed email or masked network with a confidence score on every match, and offers first-touch, last-touch and linear models. Every plan starts with a 14-day free trial with no credit card.

## Product
- [Home](https://trakinit.com/): what Trakinit does, coverage, pricing and FAQ
- [Pricing](https://trakinit.com/#pricing): Starter $299/mo, Growth $599/mo, Enterprise $1499/mo
- Launch sale through December 31, 2026: Starter $199/mo, Growth $399/mo, Enterprise $749/mo for the first 12 months
- [Start a free trial](https://trakinit.com/register)
- [Integrations](https://trakinit.com/integrations)
- [Help center](https://trakinit.com/help): setup, data sources, reports, roles, billing and privacy
- [System status](https://trakinit.com/status)

## Features
- [Attribution](https://trakinit.com/features/multi-touch-attribution): Credit every sale with last touch, first touch, linear, U-shaped or time decay, and switch models on any report to see how credit moves between channels.
- [Ask Trakinit](https://trakinit.com/features/ai-assistant): Plain-English questions like “which channel should get more budget?” answered from your own numbers, with the figures behind every answer. Powered by Claude.
- [Customers](https://trakinit.com/features/customer-lifetime-value): See which channels bring customers who come back. Customers are grouped by hashed email across every store, then credited to the first touch of their first purchase.
- [Budget planner](https://trakinit.com/features/budget-planner): Suggestions to move spend from channels returning less than they cost to your best performer, with an estimated revenue gain. You decide; nothing changes in your ad accounts.
- [Journeys](https://trakinit.com/features/customer-journeys): Open any sale to see the podcast, ad, email and search touches that came before it, oldest first, with how each one matched and how sure the match is.
- [Tracking](https://trakinit.com/features/server-side-tracking): One script tag on your domain records visits, UTMs and 30 ad, email and affiliate click IDs. Podcasts, TV, email and affiliates send touchpoints server-side by API.
- [Reports & API](https://trakinit.com/features/reports-and-api): Save any filtered view as a report for the team, export CSVs, get alerts in Slack and email, and pull attribution into BI tools with a read-only API.

## Solutions
- [For ecommerce brands](https://trakinit.com/solutions/ecommerce): Connect Shopify in one click and bring in Amazon, Walmart and marketplace orders by export, so paid social, creators and podcasts get credit wherever the sale lands.
- [For Amazon sellers](https://trakinit.com/solutions/amazon-sellers): Measure TikTok, Instagram, YouTube, podcasts and creators that drive Amazon orders, with Amazon Attribution tags recognized automatically and a confidence score on every match.
- [For omnichannel retail](https://trakinit.com/solutions/retail): Send POS sales with the receipt or loyalty email and see which emails, podcasts, events and local ads bring shoppers into stores.
- [For agencies](https://trakinit.com/solutions/agencies): Run each client in its own workspace with its own data, team and plan, switch in a click, and send clients reports they can read.
- [For apps & subscriptions](https://trakinit.com/solutions/apps-and-subscriptions): Post App Store, Google Play and Stripe subscription events from your backend and see which channels bring paying users, and what they’re worth over time.

## Blog
- [Affiliate Marketing Attribution: Impact, CJ, Awin and Beyond Last Click](https://trakinit.com/blog/affiliate-marketing-attribution): Capture each network's click ID from the landing URL (irclickid for Impact, cjevent for CJ, awc for Awin, sscid for ShareASale, ranSiteID for Rakuten, clickref for Partnerize, _ef_transaction_id for Everflow), match it to orders, and compare affiliate credit under first-touch and linear models to see whether affiliates start journeys or just finish them.
- [AI Search Traffic Attribution: Measuring Visits and Sales from ChatGPT, Perplexity and Gemini](https://trakinit.com/blog/ai-search-traffic-attribution-chatgpt-perplexity): AI assistants send visitors with recognizable referrers (chatgpt.com, perplexity.ai, gemini.google.com, copilot.microsoft.com, claude.ai). Classify those referrers as their own AI channel, separate from search on the same domains, and match the visits to later orders like any other touchpoint.
- [Amazon Attribution for External Traffic: How to Measure Off-Amazon Ads](https://trakinit.com/blog/amazon-attribution-for-external-traffic): To attribute Amazon sales to off-Amazon marketing, tag external links with Amazon Attribution (the maas parameter) where you can, bring in Amazon order or Attribution exports, and match orders to earlier touchpoints by click ID or network within a lookback window. Amazon does not share buyer emails, so most matches are network-based estimates with a confidence score.
- [Attribution Lookback Window Explained: 7, 30 or 90 Days?](https://trakinit.com/blog/attribution-lookback-window-explained): A lookback window is how long before a sale a touchpoint can still earn credit. Choose roughly your typical time from first touch to purchase: 7 days for impulse purchases, 30 days for most consumer brands, and 90 days for considered or high-ticket purchases.
- [Click IDs Explained: gclid, fbclid, ttclid, msclkid and 25 More](https://trakinit.com/blog/click-ids-explained-gclid-fbclid-ttclid): A click ID is a unique value an ad or email platform appends to a landing URL (for example gclid for Google Ads, fbclid for Meta, ttclid for TikTok). When the same click ID appears on an order, the sale can be matched to that exact click with near-certain confidence.
- [Cookieless Attribution: How Server-Side Tracking Keeps Measurement Working](https://trakinit.com/blog/cookieless-attribution-server-side-tracking): Cookieless attribution replaces third-party cookies with first-party signals collected on your own domain and server: UTM tags and ad click IDs on the landing URL, hashed emails when a visitor identifies, and masked network and device signals, all matched to orders on the server.
- [CTV Attribution: How to Measure Streaming TV Ads That Drive Sales](https://trakinit.com/blog/ctv-streaming-tv-attribution): Measure CTV by sending each airing or impression window as a touchpoint, adding QR codes and vanity URLs for direct response, and matching later sales from the same household network inside a longer lookback window. Report CTV on first-touch and linear views, since it usually starts journeys rather than closing them.
- [Email and SMS Attribution: Measuring Klaviyo, Mailchimp and SMS Revenue](https://trakinit.com/blog/email-and-sms-attribution): Tag every email and SMS link with UTMs, let your tracking snippet read Klaviyo (_kx), Mailchimp (mc_eid, mc_cid) and HubSpot (_hsenc) IDs from the landing URL, and match the subscriber's hashed email to orders on every platform. Email-keyed matches are exact, including in-store purchases with a receipt email.
- [First Touch vs Last Touch vs Linear Attribution: Which Model Should You Use?](https://trakinit.com/blog/first-touch-vs-last-touch-vs-linear-attribution): Use last touch to see what closes sales, first touch to see what creates demand, and linear when several channels work together and you want each one credited fairly. The best practice is to compare all three on the same data rather than pick one forever.
- [Hashed Email Matching: Privacy-Safe Attribution Explained](https://trakinit.com/blog/hashed-email-matching-privacy-safe-attribution): Hashed email matching turns an email address into an irreversible SHA-256 fingerprint before it's sent or stored. The same email always produces the same hash, so a sign-up on your site can be matched to an order on Shopify or in store without storing the address itself. Hashing again with a server-side secret protects against lookup attacks.
- [How to Calculate ROAS: Attributed vs Blended Return on Ad Spend](https://trakinit.com/blog/roas-calculation-attributed-vs-blended): ROAS equals revenue divided by ad spend. Platform ROAS uses each ad platform's own conversions, which often overlap; attributed ROAS uses revenue credited to that channel by one consistent model across all stores; blended ROAS divides all revenue by all spend. Use attributed ROAS to compare channels and blended ROAS to sanity-check the total.
- [How to Choose Marketing Attribution Software: A Buyer's Checklist](https://trakinit.com/blog/how-to-choose-marketing-attribution-software): Choose attribution software that sees sales on every platform you sell on (not just your website), shows how each match was made and how confident it is, works without third-party cookies, supports several models, connects to your channels and stores, and can be set up in a day.
- [In-Store Attribution: Connecting Digital Marketing to Retail POS Sales](https://trakinit.com/blog/in-store-retail-pos-attribution): Attribute in-store sales by sending POS transactions (from Square or any register) with the loyalty or receipt email, hashing that email, and matching it to earlier digital touchpoints from the same customer. Email-keyed matches are exact; add network matching only where shoppers use store Wi-Fi.
- [Marketing Attribution for Agencies: Reporting Across Multiple Brands](https://trakinit.com/blog/marketing-attribution-for-agencies): Give each client brand its own workspace with its own data, plan and team, let agency staff belong to many workspaces with a role in each, and standardize UTMs and channel definitions across clients so reports compare like with like.
- [Podcast Advertising Attribution: How to Measure Podcast Ads That Drive Sales](https://trakinit.com/blog/podcast-advertising-attribution): Measure podcast ads by combining promo codes and vanity URLs (sent as touchpoints with a time and email or IP), post-purchase survey answers, and network matching against later sales. Treat promo-code redemptions as exact matches and network matches as estimates.
- [Shopify Marketing Attribution: Beyond Last-Click Reports](https://trakinit.com/blog/shopify-marketing-attribution): Shopify orders carry the customer email, browser IP and landing page, which makes them ideal for exact attribution. Connect Shopify so orders sync nightly, capture click IDs from the landing URL, hash the email, and match each order to every touchpoint before it with a multi-touch model.
- [TikTok to Amazon Attribution: Measuring TikTok Ads and Creators That Sell on Amazon](https://trakinit.com/blog/tiktok-to-amazon-sales-attribution): Send TikTok traffic through a tagged landing page or Amazon Attribution link, capture the ttclid and UTMs with a first-party snippet, then import Amazon orders and match them to TikTok touchpoints within your lookback window. Expect mostly network-based matches, since Amazon doesn't share buyer emails.
- [UTM Parameters Best Practices: A Naming Convention That Survives Every Channel](https://trakinit.com/blog/utm-parameters-best-practices): Use lowercase, hyphenated values; set utm_source to the platform (meta, google, podcast-name), utm_medium to the channel type (cpc, social, email, podcast, affiliate) and utm_campaign to one stable campaign name, and write the rules down so every team and agency tags the same way.
- [Walmart Marketplace Attribution: Measuring Off-Walmart Marketing](https://trakinit.com/blog/walmart-marketplace-attribution): Upload Walmart Marketplace order reports as CSV or post them to an API, send traffic through tagged landing pages on your own domain, and match orders to earlier touchpoints within your lookback window. Like Amazon, Walmart rarely shares buyer emails, so expect confidence-scored network matches.
- [What Is Multi-Channel Attribution? A Practical Guide for 2026](https://trakinit.com/blog/what-is-multi-channel-attribution): Multi-channel attribution is the practice of connecting a sale to every marketing touchpoint that came before it (ads, search, podcasts, email, TV) and splitting credit between them, so you can see which channels actually drive revenue instead of trusting each platform's own report.

## Optional
- [Full text for LLMs](https://trakinit.com/llms-full.txt): every FAQ answer, help article and blog post in one file
- [Structured summary (JSON)](https://trakinit.com/llms.json)
- [Sitemap](https://trakinit.com/sitemap.xml)


# FAQ

## What is Trakinit?

Trakinit is multi-channel marketing attribution software. It connects every place attention starts (paid social, search, YouTube, podcasts, email, SMS, streaming TV, affiliates and AI assistants) to every place a sale happens (Amazon, Shopify, Walmart, other marketplaces, in-store registers and app stores), then credits each sale to the channels that drove it.

## How does Trakinit attribute an Amazon sale to a podcast or TikTok video?

It matches the sale to earlier touchpoints using three keys, strongest first: an ad click ID carried through to the order, a hashed email seen on both sides, or the same masked network and device within your lookback window. Click-ID and email matches are exact (99% confidence); network matches get a lower, published confidence score shown on every sale.

## Does Trakinit use third-party cookies?

No. A first-party snippet on your own domain and server-side APIs collect signals, so attribution keeps working as browsers block third-party cookies. Emails are hashed in the browser and again on the server, and the last block of every IP address is dropped before anything is stored.

## Which ad click IDs does Trakinit recognize?

30 out of the box, including gclid, gbraid, wbraid, fbclid, ttclid, msclkid, li_fat_id, twclid, ScCid, epik, rdt_cid, Klaviyo and Mailchimp IDs, and Impact, CJ, Awin, ShareASale and Rakuten affiliate IDs. Each workspace can add its own parameters too, for example an in-house affiliate program.

## Which channels and sales platforms does it support?

Every plan includes every channel and platform. Trakinit identifies 70+ channels and sources automatically, connects Facebook & Instagram Ads and Shopify in one click, and accepts any other platform (Amazon, Walmart, Target, Etsy, eBay, TikTok Shop, Stripe, Square and other POS systems, App Store and Google Play) through CSV import or the API.

## How is Trakinit different from Google Analytics or a platform’s own reporting?

Ad platforms only see their own clicks, and web analytics only sees your website. Trakinit holds both sides: touchpoints from every channel and orders from every store, including sales that never touch your site, like an Amazon order or an in-store purchase.

## Which attribution models are available?

Five: last touch, first touch, linear, U-shaped (40% to the first and last touch, 20% shared across the middle) and time decay (a touch a week earlier counts half as much). Starter includes last touch; Growth and Enterprise include all five, and you can switch models on any report.

## What is a lookback window, and how long is it?

The lookback window is how long before a sale a touchpoint can still earn credit. It is 7 days on Starter, 30 days on Growth and 90 days on Enterprise.

## How much does Trakinit cost?

Starter is $299 per month, Growth $599 and Enterprise $1,499. During the launch sale, through December 31, 2026, new subscribers pay $199, $399 and $749 a month for their first 12 months. Every plan starts with a 14-day free trial with no credit card, and includes unlimited channels, sales platforms, team members and workspaces.

## Is there an AI assistant?

Yes. Ask Trakinit answers plain-English questions, like which channel should get more budget, from your workspace’s aggregated numbers, and cites the figures it used. It’s powered by Claude and sends no emails, IP addresses or individual orders.

## Can I see customer lifetime value by channel?

Yes. Customers are grouped by hashed email across every store and credited to the first touch of their first purchase, with lifetime value, repeat rate and acquisition cost per channel.

## How long does setup take?

Most teams see their first matched sale the same day: add one script tag to your site, connect Shopify or upload an order export, and optionally connect an ad account for spend. Sample data in the sandbox shows a full dashboard in under a minute.

## Can agencies manage several brands?

Yes. One login can belong to many workspaces, each with its own data, team and plan, and a workspace menu switches between them. Roles are per workspace: Admin, MarTech or Analyst.

## Can AI assistants like ChatGPT and Perplexity be tracked as a channel?

Yes. Visits referred by ChatGPT, Perplexity, Gemini, Copilot and Claude are recognized as their own AI channel, separate from search on the same domains, so you can see what AI-assistant traffic actually sells.

# Help center

## How Trakinit works

Touchpoints, sales, and how they get matched.

Trakinit collects two kinds of data. Touchpoints are moments someone met your brand: an ad click, a podcast promo code, an email click, a TV airing. Sales are orders from any platform: Amazon, Shopify, Walmart, your POS or an app store.
Every night, and whenever new data arrives, Trakinit matches each sale to the touchpoints that came before it inside your plan’s lookback window, and credits revenue to those channels and campaigns.
Matches by ad click ID or hashed email are exact (99% confidence). When neither exists, a sale can still match on the same masked network and device, with a lower confidence score shown on the sale.

## Your first 15 minutes

The four setup steps, in order.

1. Add the tracking snippet to your site (or create an API key for offline channels).
2. Bring in sales: connect Shopify, upload an order export, or post sales from any platform.
3. Add ad spend, so return on ad spend fills in.
4. Auto-link an account so data keeps syncing, and add your team.
Just exploring? Load sample data from the Sandbox. It’s marked as sample data and can be deleted in one step.

## Install the tracking snippet

One script tag on every page your ads link to.

Copy your snippet from Integrations, then paste it before </head> on every page your ads, posts and emails link to. It reads UTM tags, 13 ad click IDs (gclid, fbclid, ttclid, li_fat_id and more) and the referrer automatically.
```
<script async src="https://YOUR-APP/t.js" data-site-key="YOUR_SITE_KEY"></script>
```
When a visitor signs up or checks out, link their visits to their email. It’s hashed in the browser before it’s sent, and hashed again on our servers:
```
trakinit.identify(form.email.value);
```
To check it’s working, open the test landing page from the Sandbox, then simulate a sale. The Integrations page also shows how many visits have arrived.

## Podcasts, email, TV and affiliates

Send touchpoints from your servers with an API key.

Channels without a web click (podcast promo codes, email and SMS, streaming TV, events, affiliates) are sent to the touchpoints API. Each touchpoint needs a time and at least one of an email, click ID or IP address.
```
curl -X POST https://YOUR-APP/api/touchpoints \
  -H "Authorization: Bearer ot_live_…" -H "Content-Type: application/json" \
  -d '[{"channel":"podcast","campaign":"founder-interview","occurred_at":"2026-10-20T14:03:00Z","email":"pat@example.com"}]'
```

## Connect Shopify

Orders sync every night with email, IP and click IDs.

On Integrations, enter your store name and approve read access to orders. Trakinit imports the last 60 days, then syncs new orders every night. Shopify orders carry the customer email and landing-page click ID, so most matches are exact.

## Upload an order export (CSV)

Amazon, Walmart, POS or any other platform.

Export orders from any platform and upload the file on Integrations. Column names are recognized automatically: an order ID, a purchase time and an amount are required; email, IP address and click ID improve matching.
Re-uploading the same file is safe. Orders already imported are skipped by order ID.

## Send sales with the API

Checkout webhooks and nightly jobs.

Post sales from checkout webhooks, app-store server notifications or a nightly export job. Set the platform in the URL.
```
curl -X POST "https://YOUR-APP/api/conversions?platform=walmart" \
  -H "Authorization: Bearer ot_live_…" -H "Content-Type: application/json" \
  -d '[{"order_id":"W-1001","purchased_at":"2026-10-21T09:12:00Z","amount":228,"email":"pat@example.com"}]'
```

## Amazon sales

Connect Amazon Ads; send orders by export or API.

Connect your Amazon Ads account from Integrations. Amazon doesn’t share buyer details with sellers, so Amazon orders usually match by network rather than email. Upload Amazon order or Attribution exports, or post them to the sales API.

## Ad spend and return on ad spend

Connect ad accounts or type spend per campaign.

Connect Facebook & Instagram Ads to sync spend nightly, or type spend next to each campaign on the Channels page. Return on ad spend is attributed revenue divided by spend.

## Attribution models and lookback windows

First touch, last touch, linear, U-shaped, time decay, and how far back matches go.

Last touch credits the final touchpoint before a sale. First touch credits the first. Linear splits credit evenly. U-shaped gives 40% each to the first and last touch and shares 20% across the middle. Time decay weights each touch by how close it was to the sale, halving every 7 days. Starter includes last touch; Growth and Enterprise include all five.
The lookback window is how far before a sale a touchpoint can count: 7 days on Starter, 30 on Growth, 90 on Enterprise.

## Why is a sale unmatched?

The usual reasons, and fixes.

No touchpoint inside the lookback window: the buyer’s visit was too long ago for your plan, or came from a channel you aren’t tracking yet.
No shared key: the order has no email, IP or click ID, and the visit wasn’t identified. Add trakinit.identify() at signup and checkout, and include email in exports.
Snippet missing on the landing page: check the page your ad links to has the snippet.

## Ask Trakinit (AI assistant)

Plain-English questions about your data.

Open Ask Trakinit in the sidebar and ask about channels, campaigns, platforms or customers, like “which campaigns return less than they cost?”. Answers cite the numbers they use and say when the data can’t answer.
The assistant sees this workspace’s aggregated totals for the selected range: no emails, IP addresses or individual orders. It’s powered by Claude, by Anthropic, and each workspace can ask up to 50 questions a day.

## Customer lifetime value and acquisition cost

Which channels bring customers who come back.

The Customers page groups sales by hashed email into customers, credits each customer to the first touch of their first purchase, and shows lifetime value, orders per customer, repeat rate and acquisition cost per channel.
Acquisition cost is ad spend divided by the customers a channel first brought in. Sales without an email can’t be grouped into customers; the page shows how many there are.

## Saved reports, exports, Slack and the reporting API

Take your numbers anywhere.

Save view (next to the date and model filters) keeps the current page and filters as a report in everyone’s sidebar. Export CSV is on the Channels and Sales pages.
Admins can connect a Slack incoming webhook in Settings → Email notifications, so alerts and the Monday summary also post to a channel.
The read-only reporting API returns JSON with an API key:
```
curl "https://YOUR-APP/api/v1/report?type=channels&days=30&model=linear" -H "Authorization: Bearer ot_live_…"
```
type is summary, channels, platforms, customers or trend; days is 7, 30, 90 or all.

## Team members and roles

Admin, MarTech and Analyst access.

Admin: everything, including billing and team members. MarTech: connects channels and stores, imports sales, enters spend and manages API keys. Analyst: reads every report but can’t change data or settings.
Admins add people from Settings → Team. New people get an email with a one-time link to choose a password; it works for 7 days and can be resent. People who already use Trakinit are added right away.

## Several brands or clients

Workspaces and the workspace menu.

Each workspace has its own data, team and plan. Use the workspace menu in the top bar to switch, or to create a new workspace for another brand or client. Your role can differ in each.

## Notifications and emails

Alerts, the Monday summary, and how to turn them off.

The bell in the top bar lists sync failures, trial and billing alerts, expired invites and the Monday summary. Choose which emails you get under Settings → Email notifications.

## Plans, trials and billing

14-day trial, then Starter, Growth or Enterprise.

Every workspace starts with a 14-day free trial, no card needed. Tracking keeps collecting data after a trial ends; reports reopen when a plan is active. Admins subscribe, switch plans and update cards from Settings → Plan and billing.

## Privacy and security

What’s stored, and how.

Emails and device fingerprints are stored only as SHA-256 hashes combined with a secret server key. IP addresses are reduced to their network before matching. Connected-account tokens are encrypted with AES-256-GCM. API keys are stored as hashes and shown once.

# Blog

## Affiliate Marketing Attribution: Impact, CJ, Awin and Beyond Last Click

URL: https://trakinit.com/blog/affiliate-marketing-attribution

**Short answer:** Capture each network's click ID from the landing URL (irclickid for Impact, cjevent for CJ, awc for Awin, sscid for ShareASale, ranSiteID for Rakuten, clickref for Partnerize, _ef_transaction_id for Everflow), match it to orders, and compare affiliate credit under first-touch and linear models to see whether affiliates start journeys or just finish them.

Affiliate programs pay on attribution, so the rules matter more here than anywhere. Many networks credit the last affiliate click, which can mean paying a coupon site for a sale your podcast or paid social already won.

## Recognize every network's click ID

Affiliate networks append their own IDs. Trakinit recognizes these automatically and labels the visit as affiliate:

- `irclickid`: Impact
- `cjevent`: CJ
- `awc`: Awin
- `sscid`: ShareASale
- `ranSiteID`: Rakuten
- `clickref`: Partnerize
- `_ef_transaction_id`: Everflow

Running your own partner program? Add its parameter under Settings → Click IDs, and visits carrying it are credited to that program. See [click IDs explained](/blog/click-ids-explained-gclid-fbclid-ttclid).

## Last-click affiliate credit vs the whole journey

Compare the same affiliate sales under different models:

- If an affiliate earns most of its credit under **last touch** but little under **first touch**, it's mainly closing journeys that other channels started.
- If it earns credit under **first touch**, it's genuinely introducing new customers.

Both are valuable, but they're worth different commission rates. Read [attribution models compared](/blog/first-touch-vs-last-touch-vs-linear-attribution).

## Include sales outside your site

Some affiliate-driven shoppers buy on Amazon or in store. Bringing those orders into the same system shows the full value of partners who drive marketplace or retail revenue.

## Practical tips

1. Keep affiliate links' query parameters intact through redirects.
2. Give coupon and content partners different campaign tags so you can compare them.
3. Review attributed revenue per partner monthly, alongside commission paid, to get a true return on partner spend.


## Common mistakes to avoid

- **Stripping network parameters.** Redirect chains and link shorteners that drop query strings break affiliate click IDs.
- **Paying full commission for coupon-only touches.** Coupon sites often appear at the very end of a journey. Check whether they start journeys or only finish them.
- **Mixing partners in one campaign.** Give each partner type (content, coupon, loyalty, influencer) its own campaign tag.
- **Only counting site orders.** Partners that send shoppers to Amazon or a retail store look weaker than they are.

## Step by step in Trakinit

1. Confirm each network appends its click ID to your landing URLs; Trakinit reads them automatically.
2. Add any in-house partner parameter under Settings → Click IDs.
3. Tag partner links with `utm_medium=affiliate` and the partner's name as the campaign.
4. Import orders from every store you sell on.
5. Compare each partner's credit under first touch, last touch and linear.

## Frequently asked questions

### Which affiliate networks does Trakinit recognize?

Impact, CJ, Awin, ShareASale, Rakuten, Partnerize and Everflow, through their standard click ID parameters. Other networks work through UTMs or a custom parameter.

### Can I use Trakinit to set commission rates?

You can use it to inform them. Seeing whether a partner introduces customers or closes journeys others started helps you set fair, tiered rates.

### What about influencer and creator programs?

Treat creators like partners: give each one a unique link with UTMs or a custom parameter, and compare them like any other channel. See [UTM best practices](/blog/utm-parameters-best-practices).

[Start a free trial](/register) and see which partners actually start customer journeys.

## AI Search Traffic Attribution: Measuring Visits and Sales from ChatGPT, Perplexity and Gemini

URL: https://trakinit.com/blog/ai-search-traffic-attribution-chatgpt-perplexity

**Short answer:** AI assistants send visitors with recognizable referrers (chatgpt.com, perplexity.ai, gemini.google.com, copilot.microsoft.com, claude.ai). Classify those referrers as their own AI channel, separate from search on the same domains, and match the visits to later orders like any other touchpoint.

Shoppers increasingly ask an AI assistant what to buy. When the assistant links to you, that visit is a new kind of channel, and most analytics setups lump it into "referral" or even "organic search."

## Recognizing AI assistant traffic

AI assistants usually pass a referrer. Trakinit classifies these automatically as the **ai** medium:

- `chatgpt.com` and `chat.openai.com`: ChatGPT
- `perplexity.ai`: Perplexity
- `gemini.google.com`: Gemini
- `copilot.microsoft.com`: Copilot
- `claude.ai`: Claude

The order matters. Gemini lives on a Google domain and Copilot on a Microsoft one, so they're checked before the general Google and Bing rules. Otherwise AI visits would be miscounted as organic search.

## Some AI links add UTMs

Some assistants append their own `utm_source` to links. UTMs take precedence over referrer detection, so those visits are labeled by the tag the assistant provides.

## From visit to sale

An AI-referred visit is a touchpoint like any other. When the same shopper later buys, on your site, on Amazon or in store, the sale is matched to that visit and AI gets credit. Compare AI's revenue against search and social on the Channels page.

## Make your brand easy for AI to recommend

Generative engines favor sources that answer questions clearly:

- **Answer first.** Start pages and posts with a direct, quotable answer.
- **Use FAQ and structured data** so answers are machine-readable.
- **Publish an llms.txt** summary of your product for AI crawlers.
- **Be specific and consistent** about what you sell, prices and integrations.

Trakinit publishes its own [llms.txt](/llms.txt) as an example.

## Why this matters now

AI-referred traffic is often small but high-intent: the shopper has already asked a question and been pointed to you. Measuring it separately is the only way to know whether it's worth optimizing for.


## Common mistakes to avoid

- **Lumping AI into organic search.** Gemini and Copilot share domains with Google and Bing; without specific rules they're miscounted.
- **Assuming no referrer means no AI.** Some AI apps open links without a referrer, which shows up as direct. Encourage AI-friendly landing pages with clear UTMs where you control the link.
- **Optimizing before measuring.** Measure what AI traffic sells before investing heavily in generative engine optimization.

## How AI traffic fits your other channels

AI-referred visitors often arrive with a question already answered, so they convert like high-intent search. Compare them under first touch to see whether AI is introducing new customers, and read [UTM best practices](/blog/utm-parameters-best-practices) to keep your own links clean. For the bigger picture, see [what multi-channel attribution is](/blog/what-is-multi-channel-attribution).

## Frequently asked questions

### Which AI assistants send referral traffic?

ChatGPT, Perplexity, Gemini, Copilot and Claude all link to sources in their answers, and those visits usually carry a recognizable referrer.

### What is generative engine optimization (GEO)?

GEO is the practice of making content easy for AI assistants to understand, quote and recommend: direct answers, structured data, consistent facts and machine-readable summaries like llms.txt.

### Can I see revenue from AI assistants in Trakinit?

Yes. AI-referred visits are their own channel, matched to later sales on every store like any other touchpoint.

[Start a free trial](/register) and see whether AI assistants are already sending you buyers.

## Amazon Attribution for External Traffic: How to Measure Off-Amazon Ads

URL: https://trakinit.com/blog/amazon-attribution-for-external-traffic

**Short answer:** To attribute Amazon sales to off-Amazon marketing, tag external links with Amazon Attribution (the maas parameter) where you can, bring in Amazon order or Attribution exports, and match orders to earlier touchpoints by click ID or network within a lookback window. Amazon does not share buyer emails, so most matches are network-based estimates with a confidence score.

Sending traffic to Amazon from TikTok, Instagram, YouTube or a podcast is one of the most common growth plays for consumer brands, and one of the hardest to measure. The click leaves your world and the sale happens inside Amazon's.

## Why Amazon sales are hard to attribute

- **No pixel.** You cannot put your own tracking code on an Amazon product page.
- **No buyer identity.** Amazon does not share customer emails with sellers, so email matching is not available.
- **Separate reporting.** Amazon Ads reports on Amazon's own ads; it does not see your podcast or your Instagram creators.

## The three tools you have

### 1. Amazon Attribution tags

Amazon Attribution gives you tagged links for off-Amazon campaigns. Those links carry a `maas` parameter. When a shopper lands on your own site first with that parameter, Trakinit recognizes it automatically as an Amazon Attribution click ID.

### 2. Order and Attribution exports

Export orders from Seller Central or reports from Amazon Attribution and upload the CSV. Column names are recognized automatically, and re-uploading the same file is safe because orders are de-duplicated by order ID. See [how to upload an order export](/help#csv).

### 3. Cross-platform matching

Each Amazon order is matched to touchpoints that came before it inside your lookback window. Because Amazon orders usually lack an email, the match is often made on the same masked network and device, with a confidence score that reflects how certain it is.

## A realistic setup

1. Put the [tracking snippet](/help#snippet) on your landing pages and link-in-bio pages.
2. Use Amazon Attribution links for creator and paid social campaigns.
3. Upload Amazon orders weekly, or post them to the API from a nightly job.
4. Read Amazon revenue by channel on the Channels page, with match confidence shown per sale.

## What good looks like

You should be able to answer: *of last month's Amazon revenue, how much followed a TikTok, a podcast or a YouTube touchpoint, and how confident are those matches?* If your tooling can't separate exact matches from estimates, treat its numbers with caution.


## Common mistakes to avoid

- **Expecting email matches.** Amazon doesn't provide buyer emails, so plan for network matching.
- **Mixing Amazon Ads and external traffic.** Keep Amazon's own ads separate from off-Amazon channels in your reporting.
- **Infrequent uploads.** Monthly uploads make it hard to react; weekly or automated imports are better.

## Frequently asked questions

### What is Amazon Attribution?

Amazon Attribution is Amazon's measurement program for off-Amazon marketing. It provides tagged links whose clicks Amazon can report on, and its links carry a `maas` parameter that Trakinit recognizes.

### Can I see which TikTok or Instagram posts drove Amazon sales?

Yes, if those posts link through a tagged landing page or Amazon Attribution link. Orders are matched to earlier touchpoints with a confidence score. Read [TikTok to Amazon attribution](/blog/tiktok-to-amazon-sales-attribution).

### Does this work for Amazon Vendor Central as well as Seller Central?

The approach is the same: bring order or Attribution data in as CSV or through the API, and it's matched like any other platform's sales.

For a TikTok-specific walkthrough, read [TikTok to Amazon attribution](/blog/tiktok-to-amazon-sales-attribution). [Try Trakinit free for 14 days](/register).

## Attribution Lookback Window Explained: 7, 30 or 90 Days?

URL: https://trakinit.com/blog/attribution-lookback-window-explained

**Short answer:** A lookback window is how long before a sale a touchpoint can still earn credit. Choose roughly your typical time from first touch to purchase: 7 days for impulse purchases, 30 days for most consumer brands, and 90 days for considered or high-ticket purchases.

Every attribution system has to decide how far back to look. A touchpoint from yesterday obviously relates to today's sale. One from four months ago probably doesn't. The **lookback window** is that cut-off.

## How the window changes the answer

A short window favors channels that convert quickly: retargeting, branded search, promotions. A long window lets awareness channels like podcasts, YouTube and streaming TV earn credit for the journeys they start.

Change the window and the same sales are credited differently. That isn't an error; it's the window doing its job.

## Choosing a window

- **7 days.** Impulse and low-price purchases, flash sales, short promotions.
- **30 days.** Most consumer brands. Long enough for a podcast or video to start a journey that closes weeks later.
- **90 days.** Considered purchases: furniture, electronics, subscriptions with trials, B2B.

A practical way to choose: look at the time between first touch and purchase on your matched sales. If most land inside 10 days, 30 is plenty. If many land after 30, go longer.

## Windows and match confidence

Probabilistic matches get weaker with time. A network match an hour before a sale is more convincing than one six weeks earlier. That's why Trakinit's confidence score decays with the gap between touch and sale, while exact matches by click ID or hashed email stay at 99%.

## Trakinit plan windows

- Starter: 7 days
- Growth: 30 days
- Enterprise: 90 days

See [plans and pricing](/#pricing). Changing plans re-runs attribution with the new window.

## Windows by channel

Upper-funnel channels need longer windows. If you invest in [streaming TV](/blog/ctv-streaming-tv-attribution) or [podcasts](/blog/podcast-advertising-attribution), a 7-day window will undersell them.


## Common mistakes to avoid

- **One window for every business line.** A $20 consumable and a $2,000 product have different buying cycles.
- **Confusing lookback with click-through windows in ad platforms.** Each ad platform has its own windows; your attribution window is independent of them.
- **Changing the window and comparing old reports.** Re-run attribution after a change so every period uses the same window.

## Frequently asked questions

### What is the difference between a lookback window and a conversion window?

They're often used interchangeably. Both describe how long after a touchpoint a sale can still be credited to it. Ad platforms apply their own windows; an independent attribution tool applies one window across every channel.

### Does a longer window always mean more credit for upper-funnel channels?

Usually, because awareness channels tend to appear earlier in journeys. But a longer window also admits more weak, probabilistic matches, which is why confidence scores decay with time.

### Can I see how long my customers take to buy?

Yes. Open Journeys: each touchpoint shows how long before the sale it happened. If most first touches fall inside two weeks, a 30-day window is ample. Read [TikTok to Amazon attribution](/blog/tiktok-to-amazon-sales-attribution) for an impulse-purchase example.

[Start a free trial](/register) and compare how your channels look across windows.

## Click IDs Explained: gclid, fbclid, ttclid, msclkid and 25 More

URL: https://trakinit.com/blog/click-ids-explained-gclid-fbclid-ttclid

**Short answer:** A click ID is a unique value an ad or email platform appends to a landing URL (for example gclid for Google Ads, fbclid for Meta, ttclid for TikTok). When the same click ID appears on an order, the sale can be matched to that exact click with near-certain confidence.

When someone clicks an ad, the platform usually adds a parameter to the landing URL. That parameter is a **click ID**: a unique identifier for that one click. Capturing it is the single best way to make an exact attribution match.

## Common click IDs by platform

### Search and shopping ads

- `gclid`, `gbraid`, `wbraid`: Google Ads (gbraid and wbraid appear on some iOS traffic)
- `dclid`: Google display and video campaigns
- `msclkid`: Microsoft Advertising (Bing)
- `yclid`: Yandex
- `s_kwcid`: Adobe Advertising
- `maas`: Amazon Attribution

### Social and video ads

- `fbclid`: Meta (Facebook and Instagram)
- `ttclid`: TikTok
- `li_fat_id`: LinkedIn
- `twclid`: X (Twitter)
- `ScCid` and `sccid`: Snapchat
- `epik`: Pinterest
- `rdt_cid`: Reddit
- `qclid`: Quora
- `ndclid`: Nextdoor

### Native, email and affiliate

- `tblci`: Taboola
- `_kx`: Klaviyo; `mc_eid` and `mc_cid`: Mailchimp; `_hsenc`: HubSpot
- `irclickid` (Impact), `cjevent` (CJ), `awc` (Awin), `sscid` (ShareASale), `ranSiteID` (Rakuten), `clickref` (Partnerize), `_ef_transaction_id` (Everflow)

Trakinit recognizes all of these automatically, and you can add your own, for example an in-house partner program parameter, under Settings → Click IDs.

## Why click IDs beat UTMs for matching

UTM tags describe a campaign; they're shared by everyone who clicked. A click ID is unique to one click. If a Shopify order's landing URL carries the same `gclid` as an earlier visit, that's an exact match rather than a guess.

## How to keep click IDs from getting lost

- **Don't strip query parameters** in redirects or link shorteners.
- **Keep auto-tagging on** in Google Ads and Microsoft Ads.
- **Pass the landing URL to your store.** Shopify stores the landing page on each order, which is how Trakinit reads click IDs from orders.
- **Use UTMs too.** UTMs still label the campaign; see our [UTM best practices](/blog/utm-parameters-best-practices).

## Click IDs and privacy

A click ID identifies a click, not a person. It's a strong matching key that doesn't require storing personal data, which makes it central to [cookieless attribution](/blog/cookieless-attribution-server-side-tracking).


## Frequently asked questions

### What is a gclid?

The Google Click Identifier, added by Google Ads auto-tagging to every ad click's landing URL. It ties a visit to one specific ad click.

### What is fbclid?

The Facebook Click Identifier, added by Meta to outbound links from Facebook and Instagram. Like gclid, it identifies a single click.

### Do click IDs expire?

The value itself doesn't change, but matches only count inside your attribution lookback window. Read [the lookback window explained](/blog/attribution-lookback-window-explained).

### Can I add my own click ID parameter?

Yes. Add it under Settings → Click IDs with the channel it belongs to, and new visits carrying it are credited automatically.

[Start a free trial](/register) and see which of your sales carry a click ID.

## Cookieless Attribution: How Server-Side Tracking Keeps Measurement Working

URL: https://trakinit.com/blog/cookieless-attribution-server-side-tracking

**Short answer:** Cookieless attribution replaces third-party cookies with first-party signals collected on your own domain and server: UTM tags and ad click IDs on the landing URL, hashed emails when a visitor identifies, and masked network and device signals, all matched to orders on the server.

Browsers block or restrict third-party cookies, ad blockers strip tracking scripts, and privacy rules limit what can be stored. Attribution that depends on a third-party cookie following someone across the web is no longer reliable. **Cookieless attribution** works differently.

## What replaces the third-party cookie

1. **First-party collection.** A small script on your own domain records each landing visit. Because it is first-party, it isn't treated like a cross-site tracker.
2. **Server-side processing.** The script sends only the landing URL and referrer. Parsing, matching and storage happen on the server, where you control what's kept.
3. **Deterministic keys.** Ad platforms add a click ID to the landing URL, such as `gclid` or `fbclid`. If that ID shows up on the order, the match is exact. See [click IDs explained](/blog/click-ids-explained-gclid-fbclid-ttclid).
4. **Hashed identity.** When a visitor signs up or checks out, their email is hashed in the browser, and the same hash appears on the order. See [hashed email matching](/blog/hashed-email-matching-privacy-safe-attribution).
5. **Probabilistic fallback.** When neither key is present, a masked network and device within the lookback window can still suggest a match, with a lower confidence score.

## Why server-side is more accurate

Client-side pixels lose data to blockers and to purchases on other platforms. A server-side approach brings orders in from the source (Shopify, Amazon exports, POS systems, app stores), so a sale is counted even when the buyer never returned to your site.

## Privacy by construction

Cookieless doesn't have to mean "collect everything on the server." Good practice is to keep as little as possible:

- Drop the last block of every IP address before storing it.
- Store emails only as hashes, hashed again with a server-side secret.
- Encrypt platform tokens at rest, and store API keys only as hashes.

That's how Trakinit works. Read [privacy and security](/help#privacy).

## A short checklist

- Put a first-party snippet on every landing page.
- Keep UTMs consistent (see our [UTM guide](/blog/utm-parameters-best-practices)).
- Call identify on signup and checkout forms.
- Bring in orders from every platform, not just your site.
- Show match confidence, so estimates are never mistaken for facts.


## Frequently asked questions

### Is server-side tracking GDPR compliant?

Server-side tracking can support compliance because you control exactly what's collected and stored, but compliance also depends on consent, notices and data-processing terms. Collect identifiers only with a lawful basis.

### Does cookieless attribution work with ad blockers?

Much better than third-party pixels, because collection runs on your own domain and orders come straight from your stores. Some blockers still block first-party scripts, which is why server-side order data matters.

### What's the difference between first-party and third-party cookies?

First-party cookies belong to the site you're visiting; third-party cookies belong to other domains embedded on it. Browsers restrict third-party cookies, which is why cross-site tracking breaks. Read [how to choose attribution software](/blog/how-to-choose-marketing-attribution-software).

[Start a free trial](/register) and see cookieless attribution on your own data.

## CTV Attribution: How to Measure Streaming TV Ads That Drive Sales

URL: https://trakinit.com/blog/ctv-streaming-tv-attribution

**Short answer:** Measure CTV by sending each airing or impression window as a touchpoint, adding QR codes and vanity URLs for direct response, and matching later sales from the same household network inside a longer lookback window. Report CTV on first-touch and linear views, since it usually starts journeys rather than closing them.

Streaming TV ads reach households at scale, but nobody clicks a TV. That makes connected TV (CTV) one of the hardest channels to tie to revenue, and one of the easiest to under-credit.

## The signals CTV gives you

- **QR codes.** A scan opens a tagged landing page, which the tracking snippet records like any visit.
- **Vanity URLs.** A short URL shown on screen works like a podcast vanity URL.
- **Airing or impression logs.** Your CTV platform can export when and where ads ran, which you can send as touchpoints with an IP or household identifier.
- **Household networks.** A purchase from the same masked home network soon after an airing is a meaningful probabilistic signal.

## Sending CTV touchpoints

Post TV response windows, QR scans or impression records to the touchpoints API with `channel: "ctv"`, a time, and an IP address or click ID. See [podcasts, email, TV and affiliates](/help#offline-channels).

## Tag QR codes properly

Use UTMs on every QR destination, such as `utm_source=ctv&utm_medium=qr&utm_campaign=q4-spot`, and a different campaign value per creative so you can compare spots. Our [UTM guide](/blog/utm-parameters-best-practices) has naming rules.

## Use a longer window and the right model

CTV works over weeks, not hours. A 7-day window undersells it; a 30- or 90-day [lookback window](/blog/attribution-lookback-window-explained) is more realistic. Read it in **first touch** and **linear**, because the last touch before purchase is usually search or retargeting.

## Expect probabilistic matches

Most CTV matches rely on household networks, so they'll carry a confidence score below exact matches. That's honest: report CTV revenue with its confidence rather than as a certainty.


## Common mistakes to avoid

- **Using a 7-day window.** CTV influence often shows up weeks later. Short windows systematically undersell it.
- **Judging CTV on last touch.** The last touch is usually search or retargeting. Use first touch and linear.
- **One QR code for every spot.** Use a distinct campaign tag per creative so you can compare them.
- **Ignoring marketplace and retail sales.** TV reaches households that may buy on Amazon or in store.

## Step by step in Trakinit

1. Tag each QR destination and vanity URL with `utm_source=ctv` and a campaign per creative.
2. Export airing or impression logs from your CTV platform and post them to the touchpoints API.
3. Choose a 30- or 90-day [lookback window](/blog/attribution-lookback-window-explained).
4. Bring in orders from every store, then compare CTV under first touch and linear.

## Frequently asked questions

### Can CTV ads be attributed without QR codes?

Yes. Impression or airing logs with household IPs can be matched to later sales from the same masked network. Those matches are probabilistic and carry a confidence score.

### What's the difference between CTV and OTT?

CTV usually means streaming on a connected TV screen; OTT is the broader term for streaming delivered over the internet, on any device. Both are measured the same way.

### How does CTV compare with podcasts for measurement?

They're similar: both lack a click and both start journeys. Read [podcast attribution](/blog/podcast-advertising-attribution) for complementary tactics.

[Start a free trial](/register) and send your first CTV touchpoints.

## Email and SMS Attribution: Measuring Klaviyo, Mailchimp and SMS Revenue

URL: https://trakinit.com/blog/email-and-sms-attribution

**Short answer:** Tag every email and SMS link with UTMs, let your tracking snippet read Klaviyo (_kx), Mailchimp (mc_eid, mc_cid) and HubSpot (_hsenc) IDs from the landing URL, and match the subscriber's hashed email to orders on every platform. Email-keyed matches are exact, including in-store purchases with a receipt email.

Email and SMS are often a brand's most profitable channels, and some of the most over- or under-credited. Platform dashboards count opens and clicks generously; last-click analytics can miss the email that reminded someone to buy on Amazon.

## The signals email gives you

- **Email platform IDs.** Klaviyo adds `_kx`, Mailchimp adds `mc_eid` and `mc_cid`, HubSpot adds `_hsenc`. Trakinit recognizes them automatically and labels the visit as email.
- **UTMs.** `utm_medium=email` or `utm_medium=sms` with a stable campaign name.
- **The subscriber's email.** Already known, so any order with the same email matches exactly.

## Matching email to every store

Because you know the subscriber's address, email is one of the few channels that can be matched **exactly** to sales that never touch your site:

- In-store purchases with a receipt or loyalty email (see [in-store attribution](/blog/in-store-retail-pos-attribution))
- Shopify orders, which always carry an email
- App purchases where your backend knows the user's email

Emails are hashed in the browser and again on the server. See [hashed email matching](/blog/hashed-email-matching-privacy-safe-attribution).

## Sending email touchpoints server-side

Click-throughs arrive through the snippet, but you can also post sends or clicks from your email platform to the touchpoints API with the subscriber's email. That captures customers who read on one device and buy on another.

## Be fair to email

Email often gets the last touch because it reminds existing customers to buy. Compare **first-touch** views to see which channels created those subscribers, and read our [attribution models comparison](/blog/first-touch-vs-last-touch-vs-linear-attribution).


## Common mistakes to avoid

- **Counting opens as conversions.** Opens are unreliable signals since mail apps preload images. Credit clicks and matched purchases instead.
- **Letting email take all the credit.** A reminder email often gets the last touch for a sale another channel created. Compare models before raising email's budget share.
- **Forgetting SMS links.** Shortened SMS links still need UTMs, and the shortener must keep query parameters.
- **Ignoring off-site sales.** If subscribers buy on Amazon or in store, website-only reports undercount email's impact.

## Step by step in Trakinit

1. Add `utm_medium=email` or `utm_medium=sms` and a campaign name to every link in your templates.
2. Leave Klaviyo, Mailchimp or HubSpot click tracking on, so their IDs reach the landing URL.
3. Add the [tracking snippet](/help#snippet) and call identify on sign-up forms.
4. Bring in orders from every store, including POS sales with receipt emails.
5. Open the Channels page and compare email under last-touch and linear models.

## Frequently asked questions

### Does email attribution work with Apple Mail Privacy Protection?

Yes, because it relies on clicks and purchases, not opens. Privacy Protection affects open tracking; it doesn't hide the click to your site or the email on the order.

### Can I attribute SMS separately from email?

Yes. Use `utm_medium=sms` on SMS links and `utm_medium=email` on email links. They appear as separate channels in every report.

### How are subscribers matched to in-store purchases?

When a store sale includes the receipt or loyalty email, its hash is compared with the subscriber's hashed email. A matching hash is an exact match. Read [in-store attribution](/blog/in-store-retail-pos-attribution).

[Start a free trial](/register) and see email's revenue across every store.

## First Touch vs Last Touch vs Linear Attribution: Which Model Should You Use?

URL: https://trakinit.com/blog/first-touch-vs-last-touch-vs-linear-attribution

**Short answer:** Use last touch to see what closes sales, first touch to see what creates demand, and linear when several channels work together and you want each one credited fairly. The best practice is to compare all three on the same data rather than pick one forever.

An attribution model is the rule that splits credit for a sale between the touchpoints that led to it. The three most common models are simple, transparent and easy to compare.

## A worked example

A customer's path before a $120 order:

1. Hears a podcast ad (day 1)
2. Clicks an Instagram ad (day 4)
3. Searches the brand on Google and buys (day 6)


Here is how each model credits that $120:

- **First touch:** podcast $120, Instagram $0, Google $0
- **Last touch:** podcast $0, Instagram $0, Google $120
- **Linear:** $40 each

Same sale, three very different stories.

## Last-touch attribution

Last touch gives all the credit to the final touchpoint before the sale. It answers: *what finally got people to buy?*

- **Good for:** retargeting, branded search and promotions that convert existing demand.
- **Weakness:** it hides the channels that introduced the customer. Upper-funnel channels like podcasts, video and TV look worthless under last touch, even when they started most journeys.

## First-touch attribution

First touch gives all the credit to the first touchpoint. It answers: *where do new customers come from?*

- **Good for:** judging awareness channels and new-audience prospecting.
- **Weakness:** it ignores everything that happened after the introduction, including the channels that did the hard work of converting.

## Linear attribution

Linear splits credit evenly across every touchpoint in the path. It answers: *which channels show up in buying journeys at all?*

- **Good for:** a balanced view when several channels work together.
- **Weakness:** it treats a quick glance and a decisive click as equal.

## How to choose

Do not pick one model and stop looking. Switch between them on the same data:

1. Start with **linear** as your default view.
2. Check **first touch** before cutting an awareness channel, since it may be starting journeys that other channels finish.
3. Check **last touch** before scaling retargeting, since it may be taking credit for sales that would have happened anyway.

In Trakinit you can switch models on every report, including two more: **U-shaped** (40% to the first and last touch, 20% across the middle) and **time decay** (a touch a week earlier counts half as much). Starter includes last touch; Growth and Enterprise include all five. See [pricing](/#pricing).

## Models need good matches first

A model can only split credit between touchpoints it has matched to the sale. The quality of those matches, through [click IDs](/blog/click-ids-explained-gclid-fbclid-ttclid), [hashed emails](/blog/hashed-email-matching-privacy-safe-attribution) and networks, matters more than which model you choose. And the [lookback window](/blog/attribution-lookback-window-explained) decides how far back a touchpoint can count.

## Frequently asked questions

### Is data-driven attribution better than rule-based models?

Data-driven models can be powerful but are hard to inspect. Rule-based models like first touch, last touch and linear are transparent, so you always know why a channel got credit. Many teams use rule-based models side by side.

### Which model does Google Analytics use?

Analytics tools change their defaults over time and only see your website. An independent attribution tool applies one model consistently across every channel and store, including sales off your site.

### Can I change models without re-collecting data?

Yes. Models are applied to the same matched touchpoints, so switching is instant.

## Hashed Email Matching: Privacy-Safe Attribution Explained

URL: https://trakinit.com/blog/hashed-email-matching-privacy-safe-attribution

**Short answer:** Hashed email matching turns an email address into an irreversible SHA-256 fingerprint before it's sent or stored. The same email always produces the same hash, so a sign-up on your site can be matched to an order on Shopify or in store without storing the address itself. Hashing again with a server-side secret protects against lookup attacks.

An email address is the strongest identity that appears on both sides of a customer journey: at newsletter sign-up, podcast promo redemption, checkout and the receipt at the register. **Hashed email matching** uses that identity without exposing it.

## How hashing works

A hash function like SHA-256 turns any text into a fixed-length fingerprint. `pat@example.com` always becomes the same 64-character string, but you can't turn the string back into the address.

To match reliably, emails are normalized first: trimmed and lowercased, so `Pat@Example.com ` and `pat@example.com` produce the same hash.

## Hashing in the browser

Trakinit's snippet hashes the email **in the browser** before sending it:

```
trakinit.identify(form.email.value);
```

The raw address never leaves the visitor's device through the tracking snippet.

## Hashing again on the server

A plain SHA-256 hash of a common email could, in theory, be guessed by hashing lists of known addresses. Hashing again with a **server-side secret** (a pepper) prevents that: without the secret, the stored value is useless for lookups.

## Why email is the best attribution key

- **Cross-device.** The same person on phone and laptop shares one email.
- **Cross-platform.** It appears on Shopify orders, POS receipts and app accounts.
- **Exact.** A matching hash is a match, not an estimate (99% confidence in Trakinit).

That's why email is central to [in-store attribution](/blog/in-store-retail-pos-attribution) and [email and SMS attribution](/blog/email-and-sms-attribution).

## Hashing isn't the whole story

Good privacy practice also means dropping the last block of IP addresses, encrypting credentials and keeping only what attribution needs. Read [cookieless attribution](/blog/cookieless-attribution-server-side-tracking) and our [privacy summary](/help#privacy).


## Common mistakes to avoid

- **Hashing without normalizing.** "Pat@Example.com" and "pat@example.com" produce different hashes unless you trim and lowercase first.
- **Storing raw emails "just in case."** If you need the address for marketing, keep it in your email platform, not your attribution database.
- **Skipping the server-side secret.** A plain hash of a common address can be guessed; a keyed second hash prevents it.
- **Only identifying at checkout.** Identify at newsletter sign-up, account creation and promo-code redemption too, so earlier visits link up.

## Where to call identify

- Newsletter and waitlist sign-up forms
- Account creation and login
- Checkout, before the order is placed
- Promo-code and giveaway entry forms

## Frequently asked questions

### Is a hashed email personal data?

Under many privacy laws a hashed identifier can still count as personal data, because it consistently refers to one person. Treat it with care: collect it with consent, minimize where it's stored, and protect it with a server-side secret.

### Can hashed emails be matched across platforms?

Yes. The same normalized email produces the same hash wherever it's computed, which is how a newsletter sign-up matches a Shopify order or a POS receipt.

### What confidence does an email match get?

An exact hashed-email match is treated as deterministic, at 99% confidence, the same as a click ID match. See [cookieless attribution](/blog/cookieless-attribution-server-side-tracking).

[Start a free trial](/register) and add identify to your sign-up form.

## How to Calculate ROAS: Attributed vs Blended Return on Ad Spend

URL: https://trakinit.com/blog/roas-calculation-attributed-vs-blended

**Short answer:** ROAS equals revenue divided by ad spend. Platform ROAS uses each ad platform's own conversions, which often overlap; attributed ROAS uses revenue credited to that channel by one consistent model across all stores; blended ROAS divides all revenue by all spend. Use attributed ROAS to compare channels and blended ROAS to sanity-check the total.

Return on ad spend (ROAS) is the most quoted number in performance marketing, and one of the most misunderstood. The formula is easy; the inputs aren't.

## The formula

**ROAS = revenue ÷ ad spend**

$5,000 of revenue from $1,000 of spend is a ROAS of 5.0×.

## Three kinds of ROAS

### Platform-reported ROAS

Each ad platform counts the conversions it believes it caused. Because each one sees only its own touchpoints, several platforms often claim the same sale. Add them up and you get more revenue than you actually earned.

### Attributed ROAS

One system credits each sale to channels using one model across every store. Revenue is counted once, then split. This is the number to use when deciding where the next dollar goes.

### Blended ROAS (or MER)

All revenue divided by all marketing spend. It can't tell channels apart, but it's a useful check: if attributed ROAS says every channel is profitable but blended ROAS is falling, something is off.

## Include every store

If you sell on Amazon, Walmart or in physical stores, website-only ROAS undercounts. A channel that drives Amazon orders can look unprofitable when only Shopify revenue is counted. Bring every platform's orders in; see [Amazon attribution](/blog/amazon-attribution-for-external-traffic).

## Model choice moves ROAS

Under last touch, retargeting and branded search look excellent and awareness channels look weak. Under first touch, the reverse. Compare models before making budget cuts. See [attribution models compared](/blog/first-touch-vs-last-touch-vs-linear-attribution).

## Getting spend in

Connect Facebook & Instagram Ads to sync spend nightly, or type spend per campaign on the Channels page. ROAS fills in on its own. See [ad spend and ROAS](/help#spend).


## Common mistakes to avoid

- **Adding up platform ROAS.** Several platforms claim the same sale, so their totals overstate revenue.
- **Mixing time ranges.** Compare revenue and spend over the same dates.
- **Ignoring returns and refunds.** For accurate ROAS, import net order values where possible.
- **Only counting one store.** Channels that drive marketplace or retail sales look worse than they are.

## ROAS vs ROI

ROAS measures revenue per dollar of ad spend. ROI measures profit after all costs, including product cost, shipping and fees. A 3× ROAS can be unprofitable for a low-margin product, so set ROAS targets from your margins.

## Frequently asked questions

### What is a good ROAS?

It depends on margins. A break-even ROAS is 1 ÷ gross margin: with a 40% margin, you break even at 2.5×. Anything above that contributes profit.

### Should I use attributed or blended ROAS for budget decisions?

Use attributed ROAS to decide between channels and blended ROAS to check the total. If they tell different stories, investigate before shifting budget.

### How does the attribution model affect ROAS?

Each model credits revenue differently, so each channel's ROAS changes with the model. Compare at least two models. See [attribution models compared](/blog/first-touch-vs-last-touch-vs-linear-attribution).

[Start a free trial](/register) and see attributed ROAS for every channel.

## How to Choose Marketing Attribution Software: A Buyer's Checklist

URL: https://trakinit.com/blog/how-to-choose-marketing-attribution-software

**Short answer:** Choose attribution software that sees sales on every platform you sell on (not just your website), shows how each match was made and how confident it is, works without third-party cookies, supports several models, connects to your channels and stores, and can be set up in a day.

Attribution tools all promise to show "what's working." The differences are in what they can see, how honest they are about uncertainty, and how much work they take. Use this checklist when you compare them.

## 1. Does it see every place you sell?

If you sell on Amazon, Walmart, in physical stores or in an app, website-only tools miss that revenue entirely. Ask how each platform's orders get in: one-click connections, CSV import, an API, or not at all.

## 2. Does it see every place attention starts?

Paid social and search are easy. Ask about podcasts, email and SMS, streaming TV, affiliates and AI assistants. Channels without a click need a server-side way in.

## 3. Is every match transparent?

Ask to see a single sale and the touchpoints credited for it. Good tools show **how** each match was made (click ID, hashed email or network) and **how confident** it is. Be wary of tools that present estimates as facts.

## 4. Does it work without third-party cookies?

First-party collection on your domain and server-side processing are now the baseline. Read [cookieless attribution](/blog/cookieless-attribution-server-side-tracking).

## 5. What happens to customer data?

Look for hashed emails, masked IP addresses, encrypted credentials and clear data ownership. See [hashed email matching](/blog/hashed-email-matching-privacy-safe-attribution).

## 6. Can you switch models?

You should be able to compare first touch, last touch and linear on the same data. See [attribution models compared](/blog/first-touch-vs-last-touch-vs-linear-attribution).

## 7. How many click IDs and sources does it recognize?

Ask for the list. Trakinit recognizes 30 click IDs and 70+ sources out of the box, and lets you add your own parameters. See [click IDs explained](/blog/click-ids-explained-gclid-fbclid-ttclid).

## 8. How long is setup?

A good tool shows a first matched sale the same day: a script tag, a store connection, and optional ad-spend sync. A sandbox with sample data helps you evaluate before connecting anything.

## 9. Is pricing predictable?

Watch for per-channel, per-seat or per-integration fees. Trakinit plans include every channel, every platform, unlimited team members and unlimited workspaces. See [pricing](/#pricing).

## Try before you decide


## Frequently asked questions

### What's the difference between attribution software and marketing mix modeling?

Attribution matches individual sales to individual touchpoints. Marketing mix modeling (MMM) uses statistics on aggregate spend and sales over time. They answer different questions and work well together.

### How much does marketing attribution software cost?

Prices vary widely. Trakinit plans start at $299 per month, with every channel and platform included and a 14-day free trial.

### How do I know if attribution results are accurate?

Spot-check individual sales, compare attributed totals with blended revenue, and look at the share of exact versus estimated matches. Read [what multi-channel attribution is](/blog/what-is-multi-channel-attribution).

Run a trial on real data and check a few sales by hand. If the tool's story matches what you know about those customers, it's a good sign. [Start a 14-day free trial](/register), no credit card needed.

## In-Store Attribution: Connecting Digital Marketing to Retail POS Sales

URL: https://trakinit.com/blog/in-store-retail-pos-attribution

**Short answer:** Attribute in-store sales by sending POS transactions (from Square or any register) with the loyalty or receipt email, hashing that email, and matching it to earlier digital touchpoints from the same customer. Email-keyed matches are exact; add network matching only where shoppers use store Wi-Fi.

Retail brands spend heavily on digital marketing, then lose sight of the customer when they walk into a store. The register knows what sold; the ad platforms know who clicked. **In-store attribution** connects them.

## The key: an identity at the register

A POS sale becomes attributable when it carries something you also saw online. The most common is an **email address**, captured through:

- Digital receipts ("Email me my receipt")
- Loyalty program sign-ups
- Buy online, pick up in store orders
- Event and appointment bookings

When the same email was captured online, for example at a newsletter sign-up or a podcast promo-code redemption, the sale matches exactly.

## Sending POS sales

Export transactions from Square or your POS system and upload them as CSV, or post them to the sales API with `platform=retail_pos`. Include the receipt or loyalty email when you have it. Trakinit hashes emails before matching and never stores them raw.

## Which channels show up in store

Once POS sales are in the same place as your touchpoints, you'll see:

- **Email and SMS** that bring loyalty members back to a store
- **Podcasts** whose listeners redeem a code at the counter
- **Local paid social** that drives store visits
- **Events** whose attendees buy later

Read [podcast attribution](/blog/podcast-advertising-attribution) and [email and SMS attribution](/blog/email-and-sms-attribution) for channel-specific tips.

## Privacy at the register

Shoppers expect their receipts to stay private. Hashing emails twice, once at capture and again with a server-side secret, means the raw address never sits in your attribution database. See [hashed email matching](/blog/hashed-email-matching-privacy-safe-attribution).

## Start small

Pick one store or region, send a month of POS sales with emails, and compare matched revenue by channel. Most teams find their email program and local campaigns drive more store revenue than they assumed.


## Common mistakes to avoid

- **No email capture at the register.** Without a receipt or loyalty email, most POS sales can't be matched exactly.
- **Uploading totals instead of transactions.** Attribution needs individual sales with times, not daily totals.
- **Relying only on store Wi-Fi.** Network matching in stores is weak; email is the key that works.

## Frequently asked questions

### Which POS systems work with Trakinit?

Any system that can export transactions as CSV or post them to an API, including Square. Include the order ID, time, amount and, when available, the customer's email.

### Can I attribute in-store sales to paid social?

Yes, when the shopper also identified online, for example by signing up for the newsletter after an ad click. The sale then matches through their hashed email.

### How do I compare stores or regions?

Send each sale with its platform set to `retail_pos` and use the campaign or store field your POS exports. Read [hashed email matching](/blog/hashed-email-matching-privacy-safe-attribution) for the privacy side.

[Start a free trial](/register) and upload your first POS export.

## Marketing Attribution for Agencies: Reporting Across Multiple Brands

URL: https://trakinit.com/blog/marketing-attribution-for-agencies

**Short answer:** Give each client brand its own workspace with its own data, plan and team, let agency staff belong to many workspaces with a role in each, and standardize UTMs and channel definitions across clients so reports compare like with like.

Agencies juggle many brands, each with its own ad accounts, stores and reporting expectations. Attribution that works for one brand often breaks down at ten. The fix is structure.

## One workspace per brand

Keep each client's data completely separate: touchpoints, sales, spend, team and billing. In Trakinit, each brand is a **workspace**, and one login can belong to many. Switch between them from the workspace menu in the top bar. See [several brands or clients](/help#workspaces).

## Roles per client

Access should match responsibility, and it can differ by client:

- **Admin**: billing and team members, usually the client's owner or the agency lead.
- **MarTech**: connects channels and stores, imports sales, manages API keys.
- **Analyst**: reads every report but can't change data.

An agency strategist might be MarTech for one brand and Analyst for another. Read [team members and roles](/help#roles).

## Standardize before you scale

Comparisons across clients only work when the inputs match:

1. One [UTM convention](/blog/utm-parameters-best-practices) for every client.
2. The same lookback window for comparable brands.
3. The same default model for client reports, with the others available for deeper analysis.

## Report every store, not just the website

Many agency clients sell on Amazon, Walmart or in retail. If your reporting only counts website revenue, you'll undersell your upper-funnel work. Bring every platform's orders in. See [attributed vs blended ROAS](/blog/roas-calculation-attributed-vs-blended).

## Weekly summaries without manual work

A Monday email summary of revenue, matched sales and top channel per workspace keeps clients informed without a spreadsheet. Each person chooses which emails they get in Settings.


## Common mistakes to avoid

- **One shared workspace for all clients.** It risks mixing data and makes access control impossible. Use one workspace per brand.
- **Giving everyone admin.** Admins control billing and team members. Most agency staff need MarTech or Analyst access.
- **Different models per client report.** Comparisons across brands only work on the same model and window.
- **Website-only reporting for omnichannel brands.** Clients who sell on marketplaces or in retail will undervalue your upper-funnel work.

## A weekly reporting routine

1. Monday: read each client's weekly summary email for revenue, matched sales and top channel.
2. Open each workspace's Channels page and note changes in attributed ROAS.
3. Check Journeys for one or two recent high-value sales to sanity-check the story.
4. Share findings with the client's analysts, who can see the same reports with read-only access.

## Frequently asked questions

### Can one person belong to many client workspaces?

Yes. One login can belong to any number of workspaces, with a different role in each. Switch between them from the workspace menu.

### Is each client billed separately?

Yes. Each workspace has its own plan and billing, so clients can pay directly or the agency can manage billing as an admin.

### How do I keep client data separate?

Workspaces never share touchpoints, sales or spend. Searching, reports and exports only ever show the open workspace. See [team members and roles](/help#roles).

[Start a free trial](/register) and set up your first client workspace.

## Podcast Advertising Attribution: How to Measure Podcast Ads That Drive Sales

URL: https://trakinit.com/blog/podcast-advertising-attribution

**Short answer:** Measure podcast ads by combining promo codes and vanity URLs (sent as touchpoints with a time and email or IP), post-purchase survey answers, and network matching against later sales. Treat promo-code redemptions as exact matches and network matches as estimates.

Podcast listeners hear your ad while driving, cooking or running. They don't click. Days later they search your brand, or buy on Amazon, and the podcast gets no credit. That's why podcasts are some of the most under-measured channels in marketing.

## Signals you can capture from podcasts

- **Promo codes.** A unique code per show is the strongest signal. A redemption ties a sale to a show exactly.
- **Vanity URLs.** A short URL like `brand.com/show` lets the tracking snippet record a visit with a campaign tag.
- **"How did you hear about us?"** Survey answers at checkout add coverage when codes aren't used.
- **Timing and network.** Listening often happens at home, and a later purchase from the same household network inside your lookback window is a meaningful, if probabilistic, signal.

## Sending podcast touchpoints

Because there is no click, podcast touchpoints are sent server-side. Each one needs a time and at least one key (an email, IP address or click ID):

```
curl -X POST https://YOUR-APP/api/touchpoints \
  -H "Authorization: Bearer ot_live_…" -H "Content-Type: application/json" \
  -d '[{"channel":"podcast","campaign":"founder-interview","occurred_at":"2026-10-20T14:03:00Z","email":"pat@example.com"}]'
```

See [podcasts, email, TV and affiliates](/help#offline-channels) in the help center.

## Use vanity URLs with UTMs

Point each show's vanity URL at a landing page with UTM tags, like `utm_source=podcast&utm_campaign=show-name`. The snippet records the visit, and any later order matched to that visit credits the show. Our [UTM guide](/blog/utm-parameters-best-practices) covers naming.

## Judge podcasts with first touch

Podcasts usually start journeys rather than finish them. Under last-touch attribution they look weak, because the final touch is often a branded search. Check **first-touch** and **linear** views before cutting a show. See [attribution models compared](/blog/first-touch-vs-last-touch-vs-linear-attribution).

## Podcasts that sell on Amazon and in store

Many podcast-driven purchases happen off your site. When you bring Amazon orders and in-store sales into the same place, a podcast can get credit for an Amazon order or a register sale, with match confidence shown. Read about [in-store attribution](/blog/in-store-retail-pos-attribution).


## Common mistakes to avoid

- **One code for every show.** Without a unique code or URL per show, you can't compare them.
- **Cutting shows on last-touch data.** Podcasts start journeys; judge them on first touch and linear.
- **Forgetting host-read timing.** Episodes keep getting downloads for weeks, so use a 30-day or longer window.

## Frequently asked questions

### Are promo codes enough to measure podcast ads?

They capture listeners who remember and use the code, which is usually a minority. Combine codes with vanity URLs, survey answers and network matching for a fuller picture.

### How long after an episode do sales show up?

Often for weeks, because episodes keep getting listens after release. A 30- or 90-day [lookback window](/blog/attribution-lookback-window-explained) fits podcasts better than 7 days.

### Can podcast ads be matched to Amazon sales?

Yes. Bring Amazon orders in and they're matched to podcast touchpoints by network and timing, with a confidence score. See [Amazon attribution](/blog/amazon-attribution-for-external-traffic).

[Start a free trial](/register) and send your first podcast touchpoints today.

## Shopify Marketing Attribution: Beyond Last-Click Reports

URL: https://trakinit.com/blog/shopify-marketing-attribution

**Short answer:** Shopify orders carry the customer email, browser IP and landing page, which makes them ideal for exact attribution. Connect Shopify so orders sync nightly, capture click IDs from the landing URL, hash the email, and match each order to every touchpoint before it with a multi-touch model.

Shopify knows more about each order than most platforms: the customer's email, their browser IP, and the landing page of the session that converted. That makes Shopify one of the best sources for **exact** attribution matches, if you use the data well.

## What Shopify gives you on every order

- **Customer email.** Hashed and matched to emails captured anywhere else, from newsletter sign-ups to podcast codes.
- **Landing site.** The URL of the converting session, often carrying a click ID like `gclid` or `fbclid`.
- **Browser IP.** Used, after masking, for network matching when nothing exact is available.

## Why Shopify's own reports aren't enough

Shopify's built-in reports focus on the converting session. They won't show the podcast that started the journey three weeks earlier, and they can't see your Amazon or retail revenue. A multi-channel view shows every touch before the order and puts Shopify revenue next to every other store.

## Connecting Shopify

On Integrations, enter your store name and approve read access to orders. Trakinit imports the last 60 days, then syncs new orders every night. Read [connect Shopify](/help#shopify).

## Get more exact matches

1. Keep **auto-tagging** on in Google and Microsoft Ads so click IDs reach the landing URL.
2. Avoid redirects that strip query parameters.
3. Call `trakinit.identify()` on sign-up and checkout so the email links to earlier visits.
4. Use consistent [UTM parameters](/blog/utm-parameters-best-practices).

## Shopify plus every other store

Most growing brands sell on Shopify and somewhere else: Amazon, Walmart, a retail partner. Bringing those orders into the same place means a TikTok video can get credit for a Shopify order and an Amazon order at the same time. See [TikTok to Amazon attribution](/blog/tiktok-to-amazon-sales-attribution).


## Common mistakes to avoid

- **Relying on the converting session only.** Shopify's default view hides every earlier touch.
- **Redirects that drop query strings.** Apps and link shorteners can strip `gclid` and `fbclid` before they reach the landing page.
- **No identify call.** Without it, a newsletter sign-up never links to the later order on another device.
- **Analyzing Shopify alone.** Brands with Amazon or retail revenue need every store in one view.

## Frequently asked questions

### Does Trakinit work with Shopify Plus?

Yes. Any Shopify plan that can install apps with read access to orders works.

### How far back does the Shopify import go?

The first sync imports the last 60 days of orders, then new orders sync every night. Older orders can be uploaded as a CSV export.

### Can I see first-touch attribution for Shopify orders?

Yes, on Growth and Enterprise plans. Switch the model on any report. See [attribution models compared](/blog/first-touch-vs-last-touch-vs-linear-attribution).

[Start a free trial](/register) and connect your Shopify store in one click.

## TikTok to Amazon Attribution: Measuring TikTok Ads and Creators That Sell on Amazon

URL: https://trakinit.com/blog/tiktok-to-amazon-sales-attribution

**Short answer:** Send TikTok traffic through a tagged landing page or Amazon Attribution link, capture the ttclid and UTMs with a first-party snippet, then import Amazon orders and match them to TikTok touchpoints within your lookback window. Expect mostly network-based matches, since Amazon doesn't share buyer emails.

"TikTok made me buy it" usually means the purchase happened on Amazon. That's great for sales and terrible for measurement: TikTok sees a view or a click, Amazon sees an order, and neither connects them.

## Two ways to send TikTok traffic to Amazon

1. **Through your own landing page.** The ad or creator link goes to a page on your domain, which links to Amazon. The tracking snippet records the visit, the `ttclid` and UTMs, then the shopper continues to Amazon.
2. **Directly with an Amazon Attribution link.** You lose the on-site visit, but Amazon's reporting can show campaign-level conversions.

A landing page is better for multi-channel attribution because it captures the touchpoint in your own data.

## Capture the TikTok signals

- `ttclid` is added to TikTok ad clicks and recognized automatically. See [click IDs explained](/blog/click-ids-explained-gclid-fbclid-ttclid).
- Creator links should carry UTMs: `utm_source=tiktok&utm_medium=social&utm_campaign=creator-name`.
- Referrer detection labels untagged visits from `tiktok.com` as TikTok social.

## Bring in Amazon orders

Upload Seller Central order exports or Amazon Attribution reports as CSV, or post orders to the sales API. See [Amazon sales](/help#amazon) in the help center.

## How the match is made

Amazon orders rarely include an email, so most TikTok-to-Amazon matches rely on the same masked network and device within your lookback window. Every match carries a confidence score, and short gaps score higher than long ones. A 30-day [lookback window](/blog/attribution-lookback-window-explained) is a sensible default for impulse categories.

## Reading the results

On the Channels page, filter to Amazon and compare TikTok against your other channels. Check **first touch** as well as last touch: TikTok often introduces the product, and a later branded search finishes the sale.


## Common mistakes to avoid

- **No landing page.** Linking ads straight to Amazon means the visit never reaches your own data.
- **Untagged creator links.** Every creator needs a unique campaign value, or you can't compare them.
- **Last-touch only.** TikTok often starts journeys that branded search finishes.
- **Ignoring Spark Ads.** Boosted creator posts behave like paid ads; tag them as `utm_medium=cpc` with the creator in the campaign.

## Step by step in Trakinit

1. Add the [tracking snippet](/help#snippet) to a lightweight landing page that links to your Amazon listing.
2. Point TikTok ads and creator links at it with UTMs.
3. Upload Amazon orders weekly, or automate them through the API.
4. Filter Channels to Amazon and compare TikTok under first touch and linear.

## Frequently asked questions

### Does TikTok's ttclid reach Amazon?

No. Amazon doesn't pass your click IDs back to you. The ttclid is captured on your own landing page, and the Amazon order is matched to that visit afterwards.

### How accurate is TikTok-to-Amazon attribution?

Most matches are probabilistic, based on network and timing, so each carries a confidence score. Treat them as strong estimates and focus on trends across many sales.

### Is TikTok Shop different?

Yes. TikTok Shop orders happen inside TikTok. Import TikTok Shop order exports as their own platform to compare them with Amazon. See [Amazon attribution for external traffic](/blog/amazon-attribution-for-external-traffic).

[Try Trakinit free](/register) and see what your TikTok spend is really selling on Amazon.

## UTM Parameters Best Practices: A Naming Convention That Survives Every Channel

URL: https://trakinit.com/blog/utm-parameters-best-practices

**Short answer:** Use lowercase, hyphenated values; set utm_source to the platform (meta, google, podcast-name), utm_medium to the channel type (cpc, social, email, podcast, affiliate) and utm_campaign to one stable campaign name, and write the rules down so every team and agency tags the same way.

UTM parameters are the labels on your traffic. When they're consistent, every report groups correctly. When they're not, "Facebook", "facebook" and "fb" become three channels and nobody trusts the numbers.

## The three UTMs that matter most

- `utm_source`: **where** the visit came from. The platform or publisher: `meta`, `google`, `tiktok`, `newsletter`, `the-daily-show`.
- `utm_medium`: **what kind** of channel: `cpc`, `social`, `email`, `sms`, `podcast`, `affiliate`, `ctv`, `qr`.
- `utm_campaign`: **which** campaign, as one stable name: `bfcm-2026`, `spring-launch`.

`utm_content` and `utm_term` are optional; use them for creative and keyword variants.

## Rules that prevent messy data

1. **Lowercase everything.** Trakinit lowercases source and medium, but your other tools may not.
2. **Hyphens, not spaces.** Spaces turn into `%20` and break copy-paste.
3. **One name per campaign.** Don't rename mid-flight; the history splits.
4. **Source is the platform, not the format.** `meta` with medium `cpc`, not source `facebook-ads-carousel`.
5. **Write it down.** Share a one-page convention with every agency and creator.

## Examples by channel

- Paid social: `utm_source=meta&utm_medium=cpc&utm_campaign=spring-launch`
- Creator post: `utm_source=instagram&utm_medium=social&utm_campaign=creator-jamie`
- Newsletter: `utm_source=newsletter&utm_medium=email&utm_campaign=oct-drop`
- Podcast vanity URL: `utm_source=podcast&utm_medium=audio&utm_campaign=founder-interview`
- TV QR code: `utm_source=ctv&utm_medium=qr&utm_campaign=q4-spot`

## What happens without UTMs

If a visit has no UTMs, Trakinit falls back to a click ID, then the referrer. Search engines, social networks, webmail and AI assistants like ChatGPT and Perplexity are recognized automatically. Learn more in [AI search traffic attribution](/blog/ai-search-traffic-attribution-chatgpt-perplexity).

## UTMs plus click IDs

UTMs label campaigns; [click IDs](/blog/click-ids-explained-gclid-fbclid-ttclid) identify individual clicks. Use both: UTMs for clean reporting, click IDs for exact matches.


## Common mistakes to avoid

- **Tagging internal links.** UTMs on links within your own site overwrite the original source of the visit. Only tag links that bring people in from outside.
- **Changing names mid-campaign.** Renaming a live campaign splits its history into two rows.
- **Using source for the format.** Keep format details in `utm_content`, not in source or medium.
- **Different conventions per agency.** One shared document prevents most messy data.

## A naming template you can copy


Use this pattern everywhere: `utm_source={platform}`, `utm_medium={channel type}`, `utm_campaign={yyyy-mm-name}`, `utm_content={creative-or-variant}`. For example, `utm_campaign=2026-11-black-friday` sorts chronologically in every report.

## Frequently asked questions

### Are UTM parameters case-sensitive?

In most tools, yes. "Facebook" and "facebook" become different sources. Trakinit lowercases source and medium for you, but keep everything lowercase anyway so other tools agree.

### Do UTMs hurt SEO?

No, as long as you only use them on inbound marketing links and your pages declare a canonical URL. Search engines then index the clean URL.

### Do I still need UTMs if ad platforms add click IDs?

Yes. Click IDs identify individual clicks, while UTMs label campaigns in a human-readable way. Together they give you exact matches and clean reports. See [click IDs explained](/blog/click-ids-explained-gclid-fbclid-ttclid).

[Start a free trial](/register) and check how consistent your current tags are.

## Walmart Marketplace Attribution: Measuring Off-Walmart Marketing

URL: https://trakinit.com/blog/walmart-marketplace-attribution

**Short answer:** Upload Walmart Marketplace order reports as CSV or post them to an API, send traffic through tagged landing pages on your own domain, and match orders to earlier touchpoints within your lookback window. Like Amazon, Walmart rarely shares buyer emails, so expect confidence-scored network matches.

Walmart Marketplace is a fast-growing channel for consumer brands, but like Amazon, it's a walled garden. Your external marketing sends shoppers in, and you get an order report with little to connect it back.

## The Walmart measurement gap

- You can't place your own tracking code on Walmart product pages.
- Order reports generally don't include a usable customer email for matching.
- Walmart Connect reports on Walmart's own ads, not on your podcast or paid social.

## A practical approach

1. **Route external campaigns through your own landing page** before linking to Walmart. The tracking snippet records UTMs, click IDs and referrers.
2. **Upload Walmart order reports** as CSV; column names are recognized automatically and duplicates are skipped by order ID. See [upload an order export](/help#csv).
3. **Or automate it.** Post orders from a nightly job to the sales API with `platform=walmart`.
4. **Read matches with their confidence.** Most Walmart matches rely on the same masked network and device, scored by how soon the sale followed the touch.

## Compare Walmart against your other stores

The most useful view isn't Walmart alone; it's Walmart next to Shopify and Amazon. You may find a creator campaign that looks weak on your site is driving marketplace sales. Filter the Overview or Channels page by platform to compare.

## Keep your expectations honest

Marketplace attribution is an estimate, and good tools say so. Look at the share of matches that are exact versus estimated, and give more weight to trends than to any single day.


## Common mistakes to avoid

- **Linking ads straight to Walmart.** You lose the on-site touchpoint. Route paid traffic through a tagged landing page first when you can.
- **Treating estimates as exact.** Most marketplace matches are probabilistic. Report them with their confidence.
- **Uploading partial exports.** Upload complete date ranges, so repeat uploads fill gaps instead of leaving holes.
- **Judging Walmart alone.** A campaign may sell on Walmart, Amazon and your site at once. Compare platforms side by side.

## Step by step in Trakinit

1. Add the [tracking snippet](/help#snippet) to the landing pages your campaigns use.
2. Download the Walmart Marketplace order report for your date range.
3. Upload it on Integrations, or post orders to `/api/conversions?platform=walmart`.
4. Filter the Overview by Walmart and open Journeys to see which touches came before each order.

## Frequently asked questions

### Does Walmart share customer emails with sellers?

Marketplace order reports generally don't include an email you can use for matching, so Walmart matches rely mostly on click IDs captured on your own landing page and on network matching.

### How often should I upload Walmart orders?

Weekly is enough for trend reporting. For daily reporting, automate a nightly export to the sales API.

### Can I compare Walmart and Amazon performance for the same campaign?

Yes. Bring both platforms' orders in and filter by platform on the Overview or Channels page. See [Amazon attribution](/blog/amazon-attribution-for-external-traffic).

Read our [Amazon attribution guide](/blog/amazon-attribution-for-external-traffic) for the same approach applied to Amazon. [Start a free trial](/register).

## What Is Multi-Channel Attribution? A Practical Guide for 2026

URL: https://trakinit.com/blog/what-is-multi-channel-attribution

**Short answer:** Multi-channel attribution is the practice of connecting a sale to every marketing touchpoint that came before it (ads, search, podcasts, email, TV) and splitting credit between them, so you can see which channels actually drive revenue instead of trusting each platform's own report.

Most customers meet a brand several times before they buy. They hear a podcast read, see a short video, search the brand name, and finally check out, often on a different platform than the one that first caught their attention. **Multi-channel attribution** is how you connect that whole path to the sale.

## Why single-channel reporting misleads

Every ad platform reports conversions from its own point of view. Meta sees Meta clicks, Google sees Google clicks, and neither sees the podcast or the in-store purchase. Add the platforms' numbers together and you usually get more conversions than you actually had, because several platforms claim the same sale.

Web analytics has the opposite blind spot: it only sees your website. An Amazon order, a Walmart marketplace sale or a purchase at the register never touches your site, so it never shows up.

Multi-channel attribution fixes both problems by holding **both sides** in one place: touchpoints from every channel, and orders from every store.

## How multi-channel attribution works

1. **Collect touchpoints.** A first-party tracking snippet records ad clicks, UTM tags and referrers on your site. Channels with no web click, such as podcasts, email, SMS and TV, are sent server-side.
2. **Collect sales.** Orders arrive from store connections, CSV exports or an API, from every platform you sell on.
3. **Match them.** Each sale is linked to the touchpoints before it using shared keys: an ad click ID, a hashed email, or the same network and device.
4. **Split the credit.** An attribution model decides how much each touchpoint earns.

## Which attribution model should you use?

There is no single correct model, which is why it helps to switch between them:

- **Last touch** credits the final touchpoint. It is good for spotting what closes sales.
- **First touch** credits the first. It is good for spotting what creates demand.
- **Linear** splits credit evenly. It is a fair default when several channels work together.

We compare them in detail in [first touch vs last touch vs linear attribution](/blog/first-touch-vs-last-touch-vs-linear-attribution).

## What makes a match trustworthy

Not every match is equally certain. A sale that carries the same click ID as an earlier ad click is an exact match. A sale that only shares a network with an earlier visit is an estimate. Good attribution tools tell you which is which. In Trakinit every match carries a confidence score, and exact keys always win over network estimates.

![Trakinit Journeys page showing each touchpoint before a sale and how it matched](/media/shot-journeys-light.jpg)

## Measuring sales that happen off your website

The biggest gap in most attribution setups is off-site revenue. If you sell on Amazon, Walmart or in physical stores, your website analytics cannot see those sales at all. A multi-channel approach brings those orders in directly, so a TikTok video can get credit for an Amazon order and a podcast read for a sale at the register. Read more in our guides to [Amazon attribution](/blog/amazon-attribution-for-external-traffic) and [in-store attribution](/blog/in-store-retail-pos-attribution).

## Getting started


## Frequently asked questions

### What is the difference between multi-channel and multi-touch attribution?

Multi-touch attribution credits several touchpoints in one journey. Multi-channel attribution emphasizes that those touchpoints span different channels and that sales happen on different platforms. In practice the terms overlap.

### Do small brands need multi-channel attribution?

If you spend on more than one channel, or sell in more than one place, yes. Otherwise you're relying on each platform's own, overlapping claims.

### How is this different from marketing mix modeling?

Attribution works sale by sale. Marketing mix modeling works from aggregate trends. Read [how to choose attribution software](/blog/how-to-choose-marketing-attribution-software) for when each fits.

You can set up multi-channel attribution in an afternoon: add a script tag, bring in your orders, and connect an ad account for spend. Trakinit's [quick-start guide](/help#first-steps) walks through each step, and the 14-day trial needs no credit card. [Start a free trial](/register).
