CRM

Freshsales ad attribution, with the setup cost stated first

Freshsales is the one CRM Attribi connects to that cannot create its own attribution fields, because Freshworks exposes no API for it. You create sixteen custom fields on the Contact object once, in the admin screens, and Attribi checks them and tells you exactly which are missing rather than half-working. After that it behaves like the others: won deals become offline conversions on every ad platform you have connected, carrying the deal amount in the currency Freshsales recorded it in.

No credit card required · 5-minute setup

What Attribi does with Freshsales

Won deal revenue upload

Imports

Attribi reads a Freshsales deal view and turns every deal inside it into a closed-won conversion. It picks that view by name, taking the first one whose name contains the word won and does not contain lost, so check which of your views that resolves to before you rely on it.

The deal’s real currency, not a guess

Imports

Freshsales stores a numeric currency id on the deal rather than a code. Attribi loads your account’s currency list once per run and resolves each deal to its actual ISO currency, so a EUR deal uploads as EUR instead of being flattened into dollars.

Qualified from a view you name

Imports

Build a filter view in Freshsales for the deals you consider qualified, then give Attribi its exact name. Every deal in that view fires a qualified conversion. Change your mind later and you edit the filter in Freshsales, not a setting here.

Attribution fields on the contact

Sends

Once the fields exist, Attribi fills the visitor id, the first touch source, campaign and time, the last touch source and campaign, and the touch count as leads convert, so a rep opening a contact can see which campaign produced them.

Click ID recovery without a tracker

Imports

Two of the sixteen fields exist for your own forms to fill with the ad click ID and its type. Attribi never writes those two, it reads them back off the contact when a deal moves, which is what keeps click-level matching alive with no script on your site.

On the roadmap

Planned, not live today. Listed so you can see what this integration does not do yet, before you sign up.

Automatic field creation

Planned Sends

Creating the sixteen fields for you, the way Attribi does for HubSpot, Salesforce, Zoho and Pipedrive. This one is not ours to schedule: it needs Freshworks to publish a stable field-creation API, and the moment they do the rest of the connection already works by field name and needs no change.

Not yet available.

Setting up Freshsales

  1. 1

    Create the sixteen fields in Freshsales

    In Freshsales go to Admin, Fields, Contact, and add the sixteen custom fields Attribi lists. They are the same set every CRM connection uses, prefixed cf_mta_. On the free plan this fits inside the twenty-five custom field limit with room to spare. Do this before connecting and the next step passes first time.

  2. 2

    Connect with your API key

    Freshsales has no OAuth, so you paste your bundle address, such as acme.myfreshworks.com, and an API key from your Freshsales profile. Choose whether Attribi may create contacts Freshsales does not hold, or should only enrich records you already own. Attribi then verifies the sixteen fields and names any that are missing.

  3. 3

    Check which view Attribi picked, then name your qualified one

    Attribi locates your won view by name rather than asking you, so if you keep several views with won in the title, confirm the right one is being read before you trust the numbers. For mid-funnel, create a filter view of the deals you treat as qualified and type its name exactly as Freshsales spells it. Leave it blank and Attribi reports on won deals only.

Funnel stages

Stages Attribi supports for Freshsales.

  • Lead
  • Qualified
  • Closed Won

Works with

Frequently asked questions

Why do we have to create the fields ourselves?

Because Freshworks has no documented, stable API for creating custom contact fields with a bundle API key. Rather than ship a provisioner that works on some accounts and silently fails on others, Attribi verifies instead: it reads your current contact schema, compares it to the sixteen fields it needs, and if any are missing it stops and lists them by name with the admin path to create them. Click provision again afterwards and it confirms. HubSpot, Salesforce, Zoho and Pipedrive are all one button, so this is the one connection where the setup is genuinely longer.

Which Freshsales fields does Attribi actually fill in?

Seven of the sixteen: visitor id, first touch source, first touch campaign, first touch time, last touch source, last touch campaign, and touchpoint count. Two more, the click ID and click ID type, are meant to be filled by your own forms and read back by Attribi. The remaining seven, including the attribution path, landing page and referrer, exist so the schema is complete but are not written by Attribi today. Create all sixteen anyway, because the verification step checks for the full set.

Does this work on the Freshsales free plan?

Yes. The free plan caps custom contact fields at twenty-five and Attribi needs sixteen, which leaves room for your own. Growth, Pro and Enterprise all have more headroom. The API key you connect with is per bundle and works the same on every plan, and there is no OAuth app to approve.

How does Attribi decide a Freshsales deal is won?

By your deal views, not by a stage. Attribi lists your views and takes the first whose name contains the word won and does not contain lost, then treats every deal inside it as won. That puts the definition with your sales operations team rather than in a setting here, and editing the filter changes what Attribi counts. It also means a misleadingly named view can be picked, so if you keep several views with won in the title, check which one is being read. If no matching view exists the sync stops and tells you to create or rename one rather than guessing. A deal with no amount is recorded but sends no revenue conversion.

Do we need the tracking script on our website?

Not for revenue. Qualified and closed-won outcomes are read out of Freshsales and uploaded to your ad platforms whether or not any script is installed, and a form that fills the click ID fields keeps click-level matching too. Without the script you lose the visit history: no page views and no multi-touch path, only what Freshsales holds.

Updated

Connect Freshsales to Attribi.

Sign up and connect it from the Connections page.

Start Free

No credit card · Free forever up to 1,000 visitors