# How to push UTM parameters to Pipedrive

Map SourceLoop's UTM and source fields to Pipedrive Person, Organization, and Deal custom fields. Default mapping, custom fields, and the API field types Pipedrive supports.

Source: https://sourceloop.ai/help/push-utms-to-pipedrive/
Updated: 2026-05-28

---

By default, SourceLoop ships with a mapping that writes UTM and source data to `sourceloop_*` custom fields on the Pipedrive Person object. For most teams that's enough. For teams that want to populate existing fields, push to Organization or Deal, or use specific Pipedrive field types, the Field Mapping tab supports it.

## Before you start

You'll need:

- [Pipedrive connected to SourceLoop](/help/connect-pipedrive-to-sourceloop/)
- A Pipedrive **Admin user** (required to create or edit custom fields)
- **Admin** or **Owner** role in SourceLoop

## The fields SourceLoop can push

**Contact identity:** email, contact name, phone, company name, country, city, title, LinkedIn URL

**Attribution:**
- First-touch: source, medium, campaign, content, term, landing page, channel, keyword
- Last-touch (converting session): same set

**Lifecycle:** lead status (raw + mapped), lifecycle stage (raw + mapped), lead score, qualified flag

**Revenue:** quote value (expected), sales value (realised)

## Default mapping

When you connect Pipedrive and enable outbound sync, SourceLoop sets up these default mappings on the **Person** object:

- `first_source` → `sourceloop_first_source` (Text)
- `first_medium` → `sourceloop_first_medium` (Text)
- `first_campaign` → `sourceloop_first_campaign` (Text)
- `first_landing_page` → `sourceloop_first_landing_page` (Text)
- `latest_source` → `sourceloop_latest_source` (Text)
- `latest_medium` → `sourceloop_latest_medium` (Text)
- `latest_campaign` → `sourceloop_latest_campaign` (Text)
- `latest_landing_page` → `sourceloop_latest_landing_page` (Text)
- `lead_status_raw` → `label_ids` (Person labels, used as lead status)

These fields are auto-created in Pipedrive on first sync.

## Step 1: Open the Pipedrive drawer

1. Sign in to [SourceLoop](https://app.sourceloop.ai/).
2. Open **Setup -> CRM -> Pipedrive**. The drawer opens with the connection status, the **Pipedrive → Sourceloop** / **Sourceloop → Pipedrive** sync toggles, and stacked mapping sections: **Lead status mapping**, **Lifecycle stage mapping**, **Deal stages**, and **Field mappings**.

![SourceLoop Pipedrive drawer showing sync toggles, lead status mapping, lifecycle stage mapping, and deal stages sections with pipeline values listed below](/help/screenshots/sourceloop-pipedrive-field-mapping.webp)

3. Scroll down to the **Field mappings** section. It lists the entities (Persons, Organizations, Deals) each with an **Edit** button.
4. Click **Edit** next to the entity you want to map.

## Step 2: Add a custom mapping

1. Click **Add mapping**.
2. Pick the **entity type**:
   - **Person** (most common)
   - **Organization** (account-level rollup)
   - **Deal** (closed-won attribution)
3. Pick the **SourceLoop field** (left dropdown), e.g., `first_source`.
4. Pick the **Pipedrive field** (right dropdown). The picker shows the human-readable label; the actual hex API key is stored under the hood.
5. Pick the **direction**:
   - **Outbound** (SourceLoop → Pipedrive) — for fields SourceLoop owns.
   - **Inbound** (Pipedrive → SourceLoop) — for Pipedrive data you want imported (e.g., Deal value, Owner, Stage).
   - **Bidirectional** — both ways; most-recent value wins.
6. Click **Save**.

New mapping takes effect on the next sync cycle (within 15 minutes).

## Step 3: Pick the right Pipedrive field type when creating new fields

If you're creating a new Pipedrive custom field (instead of mapping to an existing one), use these field types for the best results:

- **Text** for UTM values, channels, landing pages under 255 chars
- **Large text** for full URLs or long campaign names over 255 chars
- **Monetary** for `quote_value` or `sales_value` (Pipedrive shows currency formatting)
- **Date** for `first_seen` / `last_seen` timestamps
- **Single option** for mapped lifecycle stages (so it shows as a dropdown in Pipedrive)
- **Multiple options** for tags or multi-value categorisations (rare for UTM data)

To create a field, in Pipedrive: **Settings -> Company settings -> Data fields -> Person -> + Custom field**.

## Step 4: Verify the mapping is working

1. Wait one sync cycle (~15 minutes) after a new conversion happens.
2. Open the Person in Pipedrive.
3. Scroll to the custom fields section, the SourceLoop fields should show the values from the contact in SourceLoop's Contacts Hub.

If a field is blank, see [Troubleshoot Pipedrive sync issues](/help/troubleshoot-pipedrive-sync/).

## Organization (company) and Deal mappings

Most teams stop at Person-level mappings. Two cases where Organization and Deal mappings are useful:

- **B2B with account-based reporting** — push first-touch source to the Organization record so Pipedrive's Insights group by source at the account level.
- **Closed-won attribution** — push the original Person's first-touch source to the Deal record so Pipedrive deal-revenue reports can group by source.

Both use the same mapping flow, just pick the entity type accordingly.

## Mapping to Pipedrive's standard Lead Source field

Pipedrive's **Source channel** field on Leads (Pipedrive's leadbox feature) is a separate concept from custom-field mapping. SourceLoop doesn't write to it directly because it's part of the Leads inbox (a pre-Deal staging area). Instead, SourceLoop writes to Person-level custom fields, which give you the same data with more granularity.

If you specifically need data on the Leads inbox, push via the outbound webhook and write into Pipedrive's Leads API on your side.

## What's next

After fields are mapped, the next step is aligning lifecycle stages with Pipedrive's Person labels and Deal stages. See [Map SourceLoop stages to Pipedrive labels](/help/map-pipedrive-labels/).

## Frequently Asked Questions

### What Pipedrive field types should I use for UTM data?

Use **Text** (single-line) for UTM values like source, medium, campaign, content, term. Use **Text** for landing page (up to 255 chars) or **Large text** (256+ chars) for full URLs that might be longer. Use **Monetary** if you map quote_value or sales_value. Use **Date** for first-seen and last-seen timestamps if you push those.

### Do I need to create the custom fields in Pipedrive first?

No. SourceLoop auto-creates the default `sourceloop_*` custom fields on the Person, Organization, and Deal objects the first time it writes. The connecting Pipedrive user needs to be an Admin for the auto-create to work. To map to existing fields instead, add the mapping in the Field Mapping tab.

### Can I push UTMs to the Organization (company) record, not just the Person?

Yes. Add a mapping with entity type 'organization' and pick an Organization custom field as the target. SourceLoop aggregates UTM values across all Persons on the Organization and writes the consensus value.

### What about Deal custom fields?

Yes, supported. On Deal entity mappings, SourceLoop writes the source data from the Person who opened the Deal. Useful for closed-won attribution reporting in Pipedrive's Insights builder.

### How does Pipedrive's custom field API name look? Mine is just a long hash.

Pipedrive uses a 40-character hex string as each custom field's API key (e.g., `5e3a4b...`). SourceLoop's Field Mapping picker shows the human-readable label next to it so you don't have to memorise the hash. When you save a mapping, SourceLoop stores the hash so renaming the field in Pipedrive doesn't break the mapping.

### Pipedrive limits the number of custom fields per object. Will SourceLoop hit it?

Pipedrive's limit is 80 custom fields per object on most plans (300 on Power and Enterprise). SourceLoop's default mapping creates about 12 custom fields on Person. You're nowhere near the limit unless you've already maxed out Pipedrive with other integrations.
