The first step to full-funnel analytics. Intake is a privacy-first JavaScript library for client-side traffic source detection, multi-touch attribution, click ID tracking, and CRM identity resolution — in ~14 kB with zero dependencies.
Built by the team behind Plurio, an AI agent for performance marketing. Pair Intake on your site with Plurio to turn raw attribution data into decisions: optimisation rules, LTV/revenue automation, and plain-English queries over your ad, CRM, and backend data.
- Website: intake.plurio.ai
- Plurio: plurio.ai
- Traffic source detection — UTM parameters, organic search (Google, Bing, DuckDuckGo, Ecosia, Brave, Baidu), referral, and direct
- 11 click IDs tracked — gclid, fbclid, msclkid, ttclid, li_fat_id, twclid, sccid, dclid, gbraid, wbraid, ko_click_id
- Multi-touch attribution — first, last, linear, U-shaped, and time-decay models
- Consent Mode v2 — respects CMP signals; no cookies when consent is denied
- Cookieless fallback — parameter forwarding and URL passthrough preserve attribution without persistent storage
- dataLayer integration — pushes
intk_ready,intk_email,intk_phoneevents - Zero dependencies — ~14 kB gzipped
npm install @plurio/intakeimport intk from '@plurio/intake';
intk.init({
domain: 'example.com',
lifetime: 6
});
// Get current traffic source
const source = intk.get.current.src;
const medium = intk.get.current.mdm;
const campaign = intk.get.current.cmp;| File | Format | Use case |
|---|---|---|
intake.js |
UMD | Script tag, legacy bundlers |
intake.esm.js |
ESM | Modern bundlers (Vite, webpack, etc.) |
intake.gtm.js |
ES5 | Google Tag Manager Custom HTML tag |
<script src="https://cdn.example.com/intake.js"></script>
<script>
intk.init({ domain: 'example.com', lifetime: 6 });
</script>Paste the contents of intake.gtm.js directly into a Custom HTML tag in GTM:
<script>
// Paste the full contents of intake.gtm.js here
// ...
intk.init({
domain: 'example.com',
lifetime: 6
});
</script>Full documentation: intake.plurio.ai