Marketing campaign to CRM: getting the data flow right
Once a campaign is over, "where did this lead come from?" often has no answer: the record just says "Instagram". This guide builds the data flow from marketing to the CRM: a minimum of six fields, a naming rule, how the information travels from the website, DMs, WhatsApp and calls, asking the customer, consent, testing before launch and common mistakes.
Short answer
For data to flow correctly from a marketing campaign into the CRM, three things must be agreed before the campaign starts: which fields land on every lead record (channel, campaign, ad or creative, landing page, date, consent), how campaigns are named, and by what path that information reaches the record in each channel. Then one test lead is sent from every channel. Once the campaign is over it is too late to ask "where did this lead come from?" — the information is either written at intake or lost.
Why the data gets lost on the way
The marketing team sees clicks and forms in the ad account; the sales team sees leads in the CRM. Between them there is often no bridge: the record says "Instagram", but not which ad or which offer brought the person in. At month end marketing says "the campaign brought 400 leads", sales says "half were poor quality", and nobody can prove anything.
The cause is organisational rather than technical: the campaign name is spelled differently every time, ad details are not carried into the chat when a customer moves to a DM, and nobody asks for the source on leads that arrive by phone.
The minimum field set
Six campaign fields on the lead record are enough. More will not get filled in:
- ChannelWhere the enquiry came in: Instagram DM, WhatsApp, website form, call.
- CampaignWith a standard name: "2026-10_autumn-sale_furniture".
- Ad or creativeWhen available: which visual, which copy. If not, it stays empty — never guessed.
- Landing pageFor the website: the page where the customer wrote or filled in the form.
- First contact dateNot the date the lead was created, but the day the person first wrote.
- ConsentWhether consent to marketing messages was given, and where.
A naming rule
The simplest and most often broken part of the data flow is the campaign name. "Autumn sale", "autumn_sale" and "AutumnSale" appear in a report as three different campaigns. Write one rule and make everyone follow it: year-month, a short name, the product group, lowercase Latin letters and hyphens only. Give the rule to your marketing agency too — they often create the campaigns.
The path per channel: how data reaches the record
- Website form: the campaign parameters sit in the landing page address, and the form should send them to the CRM as hidden fields. This is the most reliable path.
- Website chat: if the page where the chat started is known, it can be matched to the campaign page.
- Instagram and Facebook DM: the campaign of a customer writing from an ad is not always passed into the chat. A dedicated opening message or keyword per campaign is a practical workaround.
- WhatsApp: a pre-filled message in the ad's link helps identify the campaign.
- Phone: a dedicated number per campaign, or the agent asking "how did you hear about us?"
The fallback: ask the customer
When the technical path fails, the simplest method remains: ask. "How did you find us?" goes at the end of the conversation, after the number has been given, and the answer is written to its own field. It is less precise than technical tracking — people forget, and say "Instagram" when a friend sent them. But it beats nothing, and a contradiction between the two sources is itself a signal.
Consent and how much data to keep
Not every lead from a campaign can go into the marketing list. The customer wrote to get an answer, not to receive promotions. Consent is stored as its own field and marketing sends rely on it alone. On WhatsApp, Meta requires clear opt-in from the business. Keep only what you need on the record: a campaign report does not need the customer's age or family status. Check the legal requirements for your own country.
Test before launch
- One test lead per channelFill in the form, write a DM from the ad, tap the WhatsApp link, call the campaign number.
- Check the recordWhich of the six fields filled in, and which stayed empty.
- Duplicate checkWrite from two channels with the same test number — one lead should remain.
- Delete or flag test leadsOtherwise they show up in the report as the campaign's first leads.
How to handle one person arriving through several channels is covered in duplicate lead prevention.
An illustrative example
This is an illustrative example. In September a fitness club runs two campaigns: a "student membership" and a "corporate package". In earlier campaigns every lead was recorded as "Instagram". This time each campaign gets its own opening message ("I'd like to know about the student membership"), and the website form gets a hidden campaign field.
At month end, 85% of records have the campaign field filled in. Most of the remaining 15% are calls, and the agents start asking "how did you hear about us?". For the first time the two campaigns can be compared by how many leads turned into sales, not just by lead count.
Common mistakes
- Making the campaign field free text.
- Overwriting the source with the lead's latest touch — the original source is lost.
- Launching the campaign without testing.
- Filling in missing ad details with a guess.
- Adding everyone from a campaign to the marketing list without consent.
Limitations
Not every touch can be tracked: a customer may see an ad on their phone and type the website address on a computer a week later. Platforms limit the data they pass on for privacy reasons, and those rules change. So campaign data is an approximate answer to "who brought them in", not accounting precision. A data flow only becomes valuable once it is joined to the sales outcome.
Campaign data in Vexvon
In Vexvon every lead is created with the channel it came from; in the website widget, the address of the page the customer wrote from is stored with the message. A company can define its own fields to extract from the conversation — for example "how did you find us" or "which offer are you writing about" — and the AI records the value only if the customer actually wrote it, leaving it empty otherwise. Tags and extra fields are created by the company, and leads can be passed to Bitrix24 or by webhook to the company's own system. We do not claim automatic capture of ad-platform campaign IDs. More on the CRM page.
Next step
Before your next campaign, agree the six-field list with the heads of marketing and sales and send one test lead from every channel. How to design the conversation that follows an ad is covered in an Instagram lead chatbot for ads. More flows are in the workflow automation section, and we can check your campaign flow together during a demo.