About Services Cases Blog Tools Reviews Partners Contacts

A $2,000 CRM Integration Had to Be Finished: KeepinCRM and Google Ads, Sales and Margin

KeepinCRM + Google Ads: real sales and margin in your ads — 35 deals restored, 2 days to integrate, 51% actual margin

An online store selling home and garden goods, wholesale and retail. Orders come into KeepinCRM from an OpenCart website and from marketplaces. The client paid $2,000 for a website–CRM integration that was supposed to show which sales came from ads. It didn’t. I finished that link in a few days, and now Google Ads sees real purchases and margin.

Contents
  1. Starting point
  2. First time with KeepinCRM
  3. What I did
  4. Result
  5. Before you pay for an integration
  6. FAQ

Starting point

The website–KeepinCRM integration was done by a third-party team of integrators. At the start they promised a full link between the CRM, Google Ads and Google Analytics so the client could see which sales came from ads. It cost $2,000.

When I joined the project, it turned out ad tags weren’t being passed to the CRM at all. Orders from the site arrived with no information about where the customer came from. When asked “why”, the integrators said that wasn’t part of the task.

In the end the client had paid for the integration but couldn’t answer the main question: how much money the ads bring in and whether they pay off. The client was disappointed, I was angry. So we decided to do it ourselves and finish the job.

First time with KeepinCRM

Before this request I had never worked with KeepinCRM and hadn’t even heard of it. This is my first project with this CRM: I opened it, went through the documentation and got straight to work. There were no difficulties. I have more than twenty similar integrations with other CRMs behind me, and the logic is always the same, only the interface changes.

CRMKeepinCRM and Google Ads integrationConfirmed KeepinCRM sales sent to Google Ads as offline conversions — with value or margin.from $300Learn more

What I did

1. Figured out how the site → CRM link actually works

I found where and why the order source data was getting lost, and checked what the integrators had already set up.

2. Finished the website–CRM integration

In KeepinCRM I created new fields for the traffic source, campaign and ad click ID (gclid). The site now passes them into every order, including “one-click” purchases. It worked from the first test order.

Test “Buy in 1 click” order in KeepinCRM with utm_source, utm_medium, utm_campaign and gclid fields
Test “Buy in 1 click” order in KeepinCRM with utm_source, utm_medium, utm_campaign and gclid fields
A real deal from ads in KeepinCRM: source google / cpc, campaign and gclid
A real deal from ads in KeepinCRM: source google / cpc, campaign and gclid

3. Restored the history of old deals

I didn’t lose the orders placed before the fix. I matched them with Google Analytics data and added the ad source to 35 earlier deals. That gave the client correct statistics for the whole month.

The script added the ad source and gclid to 35 old deals
The script added the ad source and gclid to 35 old deals

4. Set up sending real sales to Google Ads

Every day, two goals are sent automatically from the CRM to Google Ads:

  • “Purchase” — with the actual order amount;
  • “Margin” — with the actual profit.

Only orders that actually became purchases are sent, with no duplicates.

5. Tested and launched

I ran test orders, checked every step and sent the first real purchases to Google Ads.

The “Purchase Fact CRM” and “Margin Fact CRM” goals in Google Ads, imported from clicks
The “Purchase Fact CRM” and “Margin Fact CRM” goals in Google Ads, imported from clicks

6. Built an end-to-end analytics dashboard

Basic version: spend, orders, revenue, margin, ROAS and ROMI with filters by period, order status and traffic source, a breakdown by campaign and a forecast for the current and next month.

For 30 days (Sep 30 – Oct 29, 2026), for google / cpc, the dashboard shows 35 orders worth 32,365 UAH ($719) with 10,981 UAH ($244) in spend. ROAS 2.95, margin profit 16,568 UAH ($368), actual margin 51.2%, ROMI 50.9%. These are all order statuses; the “In progress + Completed” filter removes canceled ones.

End-to-end analytics dashboard: overview for google / cpc over 30 days
End-to-end analytics dashboard: overview for google / cpc over 30 days
End-to-End Analytics: What Problems It Actually Solves Analytics + Google AdsEnd-to-End Analytics: What Problems It Actually SolvesWhat end-to-end analytics really is and what real dashboards for lead gen, B2B and e-commerce look like.Sep 16, 2026Read

Result

MetricValue
Old deals restored by matching with GA435
First purchases sent to Google Ads22
Revenue in the first upload20 438 ₴
Margin in the first upload9 685 ₴
Timelinea few days

Now every website order in the CRM has a source: you can see what came from Google Ads and what came from direct visits. Google Ads learns from real purchases and real profit. The client sees the return on ads in one dashboard, without combining numbers from three different systems. And everything runs automatically every day, with no manual exports.

Key point: a CRM integration has to answer one question — how much the ads earn. Until it answers that, it isn’t finished.

Before you pay for an integration

If you order a website–CRM integration, write it straight into the task: passing UTM tags and gclid into every order and sending actual sales to Google Ads. And after handover, place a test order with an ad tag: did the source show up in the deal card in the CRM? That’s 5 minutes that will tell you more than any integrator report.

05 — CRMCRM integration with Google AdsOffline conversions: real sales from your CRM flow back into Google Ads, so the algorithm learns from revenue, not leads.from $300Learn more
CRM integration doesn’t show what the ads brought in? Get in touch, I’ll finish the job

FAQ on the topic

Frequently asked questions

Why send sales from a CRM to Google Ads?
Google Ads only sees actions on the site: form fills, carts, checkouts. It doesn’t know which order became a real purchase and which was canceled. CRM data lets the ads learn from actual sales.
What does sending margin to Google Ads mean?
It’s a separate goal where the conversion value is the profit from the order. That way the ads optimize for products that actually make money.
Can sources be restored for old orders?
Partly, yes. Old deals can be matched with Google Analytics data by time and order amount, and the source can be added manually or with a script. It won’t give a perfectly accurate picture, but the statistics won’t start from zero.
How long does a CRM and Google Ads integration take?
It depends on the CRM and what’s already set up. If the CRM has an API and you can add custom fields, the basic transfer of tags and sales can be set up in a few days.
Does this work with marketplaces?
Marketplace orders get into the CRM, but they have no Google ad click. So only website orders are sent to Google Ads, and marketplaces are analyzed separately in the dashboard.



Contact

Let's discuss
your project

Leave a request — we'll assess your situation, discuss your goals and find the best solution for your business and budget.

🏆
As a Google Partner, I can help you get a Google Ads bonus of up to 55,000 UAH ($1.2K) for your first campaigns.
❌ I don't work with: gambling · betting · alcohol · tobacco · crypto · grey niches · payday loans
▸ new_project.init()
Discuss a project