Quick Start
Get Morev tracking your funnel in under 2 minutes. No backend changes, no dependencies — just one script tag.
Create a site in your dashboard
Go to app.morev.io/dashboard/setup and enter your funnel URL. Morev will generate a unique site key for you.
Add the pixel to your page
Paste the snippet into the <head> of your landing page. It works on any platform — Webflow, ClickFunnels, WordPress, custom HTML.
Visit your page
Open your funnel URL in a browser. Within seconds you'll see a live visitor appear in your Morev dashboard.
Install the Pixel
Copy your snippet from the dashboard and paste it inside the <head> tag of your page — before the closing </head>.
<script
src="https://app.morev.io/track.js"
data-site="YOUR_SITE_KEY"
async
></script>
YOUR_SITE_KEY with the key from your dashboard. Each funnel gets its own key — don't share keys across different funnels.Platform-specific guides
The pixel works the same on every platform. Find your <head> section and paste the snippet in.
| Platform | Where to add the pixel |
|---|---|
| Webflow | Project Settings → Custom Code → Head code |
| ClickFunnels 2.0 | Funnel Settings → Tracking Code → Head tracking |
| WordPress | Use a plugin like Insert Headers and Footers or add directly to header.php |
| GoHighLevel | Funnel Settings → Custom Code → Head |
| Custom HTML | Paste inside <head>...</head> of your HTML file |
Verify Installation
After adding the pixel, visit your funnel page and check the Live Activity tab in your dashboard. You should see yourself appear within 3–5 seconds.
You can also check your browser's developer console. Open DevTools → Network tab, filter by track.js. You should see a 200 response.
Custom Events
Track any user action — button clicks, form submissions, CTA interactions — with a single line of JavaScript.
Once the Morev pixel is installed, a global morev.track() function is available on the page. Call it anywhere in your JavaScript.
morev.track('event_name', {
// optional properties
label: 'CTA Button',
value: 97
});
Common examples
Track a button click<button onclick="morev.track('cta_click', { label: 'Apply Now' })">
Apply Now
</button>
document.getElementById('my-form').addEventListener('submit', function() {
morev.track('form_submit', { label: 'Application Form' });
});
morev.track('conversion', {
label: 'Call Booked',
value: 2500 // deal value in USD (optional)
});
VSL Tracking
Track video sales letter play rate, completion rate, and drop-off points automatically. Fire events at key watch milestones to see where viewers stop watching.
YouTube / Vimeo embed// Vimeo example with Player.js
var player = new Vimeo.Player('vsl-iframe');
player.on('play', function() {
morev.track('vsl_play');
});
player.on('timeupdate', function(data) {
var pct = Math.round(data.percent * 100);
if (pct === 25) morev.track('vsl_25');
if (pct === 50) morev.track('vsl_50');
if (pct === 75) morev.track('vsl_75');
if (pct === 100) morev.track('vsl_complete');
});
_wq.push({ id: "_all", onPlay: function(video) { morev.track('vsl_play') } }) for automatic tracking.Form Tracking
Morev automatically tracks form focus and submission events on most form builders. For custom forms, fire events manually.
Typeform webhook → Morev// Add to your Typeform embed options
tf.createWidget('FORM_ID', {
container: document.getElementById('typeform'),
onSubmit: function() {
morev.track('application_submitted');
}
});
Scroll Tracking
Morev tracks scroll depth automatically — you'll see 25%, 50%, 75%, and 100% scroll milestones in your analytics without any extra code.
To track a specific element entering the viewport (e.g. your CTA section), use a custom event with IntersectionObserver:
var cta = document.getElementById('cta-section');
var fired = false;
new IntersectionObserver(function(entries) {
if (entries[0].isIntersecting && !fired) {
fired = true;
morev.track('cta_visible');
}
}, { threshold: 0.5 }).observe(cta);
API Reference
Send events server-side, pull analytics data, and build custom integrations using the Morev REST API.
The base URL for all API requests is:
All responses are JSON. Timestamps are ISO 8601. Rate limit is 1,000 requests/minute per site key.
Authentication
Pass your site key as a header on all API requests:
Request headerx-morev-key: YOUR_SITE_KEY
Ingest Events
Send custom events server-side — useful when you can't run JavaScript (e.g. booking confirmation webhooks, Zapier, Make).
Request body
| Field | Type | Required | Description |
|---|---|---|---|
| event | string | required | Event name, e.g. conversion, vsl_play |
| site_key | string | required | Your site key from the dashboard |
| label | string | optional | Human-readable label for the event |
| value | number | optional | Numeric value (e.g. deal size in USD) |
| session_id | string | optional | Pass to associate with an existing session |
| meta | object | optional | Any additional key-value pairs |
curl -X POST https://app.morev.io/api/ingest \
-H "Content-Type: application/json" \
-H "x-morev-key: YOUR_SITE_KEY" \
-d '{
"event": "conversion",
"label": "Call Booked",
"value": 2500
}'
fetch('https://app.morev.io/api/ingest', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'x-morev-key': 'YOUR_SITE_KEY'
},
body: JSON.stringify({
event: 'conversion',
label: 'Call Booked',
value: 2500
})
});
Response
200 OK{ "ok": true }
FAQ
Common questions about Morev.