# Salesforce integration for paid acquisition

Hendrik reads Salesforce leads, contacts, accounts, opportunities, stages, campaigns, members, and history so you can compare reported lead volume with pipeline movement.

## Questions Hendrik can help answer

- Are reported leads becoming qualified opportunities?
- Did stage definitions or campaign membership change?
- Does pipeline quality support more spend?

## Illustrative example

### Test a LinkedIn lead-quality claim

Same 30-day USD windows

*About this example: Synthetic data · illustrative analysis · Hendrik only acts with the permissions you give it.*

- Reported leads (LinkedIn Ads): 95 → 142
- New qualified opportunities (Salesforce): 27 → 24
- Campaign members added (Salesforce): 88 → 131

### What Hendrik checks

- **Check campaign identity:** Verify the Salesforce campaign records used for the comparison.
- **Review stage history:** Detect stage-definition or process changes.
- **Check matching coverage:** Avoid treating unmatched leads as CRM failures.

### What Hendrik sees

Reported LinkedIn leads and campaign members increased, while new qualified opportunities fell.

### What to do next

Keep budget stable and review lead qualification before scale.

**Limit:** Campaign membership and opportunity counts do not prove LinkedIn caused the opportunities.

## What Salesforce contributes

Use Salesforce with an advertising integration to see whether reported leads became qualified opportunities or closed revenue.

## Data Hendrik reads

- **Leads and contacts:** CRM prospect and contact records.
- **Opportunities:** Opportunity and opportunity history.
- **Stages:** Stage definitions and changes.
- **Campaigns:** Campaign and campaign membership data.
- **Accounts:** Account context.

## Setup and access

- **Setup:** When enabled, sign in with Salesforce and confirm the organization and instance.
- **Permissions:** Salesforce OAuth scopes: api and refresh_token.
- **Accounts:** One Salesforce organization and instance URL.
- **History:** The current product configuration defaults to 90 days. Hendrik shows the actual coverage after the first sync.
- **Refresh:** Configured data streams run from hourly to every 6 hours. Hendrik shows the published freshness for each source after sync.
- **Setup timing:** Salesforce starts its initial sync after authorization, account selection, and data checks. The duration depends on the selected account and history.
- **Actions:** Connecting reads Salesforce data. It does not change leads, opportunities, campaigns, or stages.
- **Availability:** Your workspace shows Connect or Request access for your account.

## What you need to connect

- Confirm the Salesforce org and relevant record types.
- Define the stage and date that represent a qualified outcome.
- Establish campaign membership or identity before making attribution claims.

## Important limits

- Opportunity value is not payment data.
- Campaign membership does not establish causal credit.
- CRM stage dates can differ from lead creation dates.

## Provider documentation

- [Salesforce REST API](https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/)

## Start with Salesforce

[Create a workspace and connect Salesforce](https://app.withhendrik.com/auth?mode=sign-up&acquisition_channel=marketing&return_to=%2Fonboarding%2Factivation&cta_location=integration_markdown&landing_page_id=integration-salesforce&integration=salesforce)
