RIVIL

CRM that knows where every lead came from: down to ROAS

Collect leads from every channel, see which campaigns bring visitors, run your own funnel, and learn which ads pay back: not just which get clicks.

crm.rivil.app/dashboard
Dashboard · Campaigns
Leads1.284+18%
Cost / lead$31-9%
Won96+11%
ROAS4,6x+0,4
CampaignSourceSpentLeadsRevenueROAS
Spring 2026Meta$4,20062$18,9004.5x
Search brandGoogle$2,80041$15,4005.5x
RetargetingMeta$90019$6,1006.8x
Winter saleMeta$1,50012$2,3001.5x
We know the story

You pay for ads but cannot see past the click

The lead lands in email, someone types a spreadsheet, someone forgets to call. At the end you do not know which campaign made money.

✕ Leads lost in email✕ No idea who called whom✕ Same person, three records✕ Ad spend with no revenue view✕ Reports built by hand✕ Leads lost in email✕ No idea who called whom✕ Same person, three records✕ Ad spend with no revenue view✕ Reports built by hand✕ Leads lost in email✕ No idea who called whom✕ Same person, three records✕ Ad spend with no revenue view✕ Reports built by hand
✓ Every lead in one place✓ Full history per person✓ One person, one record✓ Real ROAS per campaign✓ Reports that build themselves✓ Every lead in one place✓ Full history per person✓ One person, one record✓ Real ROAS per campaign✓ Reports that build themselves✓ Every lead in one place✓ Full history per person✓ One person, one record✓ Real ROAS per campaign✓ Reports that build themselves
Collection

Every source, one inbox

Site forms, Meta Lead Ads, API, webhooks, import, and manual entry: all in one place with source and campaign preserved.

Same person, three forms? One record. Dedupe on phone or email; each submission adds to history.

  • Site forms: any form; WordPress plugin available
  • Meta Lead Ads, API intake, webhooks
  • Dedupe on phone and email
  • Source, campaign, and ad on every lead
crm.rivil.app/entries
Entries
SourceForm / campaignWhenLead
Site form (WordPress)Quote request2 min agoNew
Meta Lead AdsSpring 202614 min agoNew
API intakePartner app1 h agoExisting
Form rivil.appRequest a demoyesterdayNew
Same phone submitted 2 forms: one lead, with both entries in history.
Site tracking

See which campaigns bring people: not only who filled a form

A small script remembers each visitor’s UTM (source, medium, campaign, term, content), first touch and last. Default 30 days even if they come back before converting.

On submit, the lead arrives in CRM with the full path. You know which ad brought them and what convinced them to write.

  • First and last source on every lead
  • WordPress plugin or we wire your forms
  • Queue and retry if CRM is briefly down
  • Events to dataLayer for Google Tag Manager
crm.rivil.app/leads/4821
Lead journey · Andrei Popescu
Site visits before form submit
12 Oct
google / cpc · Search brand
First touch
15 Oct
facebook / paid · Spring 2026
18 Oct
direct
Last touch
18 Oct
Form submitted · Quote request
New lead
Came via Google Ads, converted after a Facebook ad. Both campaigns show in CRM.
Funnel

Stages are yours

Define stages and statuses with colors and won/lost rules. Require fields before certain moves so nothing stays half empty.

If a lead sits too long, someone gets notified.

  • Separate funnel per company
  • Required fields before statuses
  • SLA notifications when leads stall
  • Custom fields on leads and deals
crm.rivil.app/deals
Deals · Funnel
TOF · New lead
New48
No answer 117
Scheduled22
MOF · Meeting
Presented14
Rescheduled5
Cancelled6
BOF · Close
Quote sent9
Won7
Lost4
Lead detail

Where they came from and what happened next

Open a lead and see everything: source, form data, calls, decisions. No asking the same questions twice.

Company leads can carry firm details you capture once and reuse.

  • Full history: forms, notes, status changes
  • Owner, value, and status at a glance
  • Structured company fields when you need them
crm.rivil.app/leads/4821
Andrei Popescu
Assignment
SourceMeta Ads
CampaignSpring 2026
FormQuote request
OwnerMMaria
Value$3,500
StatusScheduled
History
Today 10:42
Status changed: Scheduled
Today 09:15
Call made, asked for Thursday appointment
Yesterday 18:03
Form submitted on website
Yesterday 18:03
Lead created from “Spring” campaign
Agenda

What to call today, in order

Each rep has a daily list: calls, meetings, leads to revisit. Overdue items surface so nobody waits without an answer.

  • Daily agenda per rep
  • Overdue leads pushed to the top
  • Assignment to reps
crm.rivil.app/agenda
My agenda
09:30
Andrei Popescu
Calling to confirm appointment
Today
11:00
Elena Tudor
Asked for quote, follow up needed
Today
14:15
Alfa Construct SRL
Presentation meeting
Today
16:00
Vlad Ciobanu
No answer twice
Overdue
Revenue

See which campaigns make money

Ad spend ties to leads and collected payments. Cost per lead and real ROAS per campaign: not click rate alone.

Meta learns better: on status change, CRM sends the event to Conversions API.

  • Cost per lead and ROAS by campaign, source, ad
  • Conversions API events per status
  • ActiveCampaign and Mailchimp sync
  • Payments on deals for correct ROAS
crm.rivil.app/dashboard
Dashboard · Campaigns
Leads1.284+18%
Cost / lead$31-9%
Won96+11%
ROAS4,6x+0,4
CampaignSourceSpentLeadsRevenueROAS
Spring 2026Meta$4,20062$18,9004.5x
Search brandGoogle$2,80041$15,4005.5x
RetargetingMeta$90019$6,1006.8x
Winter saleMeta$1,50012$2,3001.5x
# Any site form → RIVIL CRM
Form "Quote request"
  name, phone, email     →  lead
  utm_source, utm_campaign →  source, campaign
  page URL               →  history entry
Forms

Site forms land in CRM on their own

Tell us which forms you have; we map fields into CRM with source and campaign. WordPress has a plugin. Nobody copies rows by hand.

With ERP

Lead becomes client; booking becomes revenue

With RIVIL ERP, leads and deals appear there; bookings and payments in ERP update CRM automatically. See the path from first ad to last invoice.

  • Leads and deals visible in ERP
  • Booking or payment moves status in CRM
  • API and webhooks to other tools
# CRM notifies you
deal.status_changed   status → Booked
deal.won              value 3,500
# HMAC signed, retried if needed
Questions

What people ask

Can I use CRM without ERP?

Yes. CRM works on its own. With ERP, the two sync automatically.

Where can leads come from?

Site forms (we wire any form; WordPress has a dedicated plugin), Meta Lead Ads, API, webhooks, import, or manual entry.

Can the funnel be mine?

Yes. Your stages and statuses, colors, and won/lost rules. Each company in CRM has its own funnel.

What if the same person submits twice?

Leads dedupe on phone or email: one person, every touch in history.

Does it connect to Meta?

Yes. On status change, CRM can send events to Meta Conversions API: you choose which statuses.

RIVIL Websites

Need a website too?

Site forms send each lead to CRM with source and path: on a fast, SEO-ready site.

Want to see where leads slip away?

We show CRM configured for your funnel in 30 minutes.

Popular pages