# Salesforce Campaigns

Although we pull the Salesforce's Campaign object in HockeyStack, you can't use it directly. It is an everyday use case to track the campaign's results. This document explains how to use it correctly.

To track a campaign's success, we use **CampaignMember** rather than the **Campaign** object. **CampaignMember** captures valuable information specific to each member's interaction with the campaign. This enables us to measure the campaign's effectiveness on an individual level. A date property can be created to track specific events on the **CampaignMember** object. This wouldn't make sense with the **Campaign** object, as it is only tracking the creation and update of the campaign itself.

These are the fields from Campaign that are pulled inside CampaignMember by default:

| HockeyStack Field  | Campaign field           |
| ------------------ | ------------------------ |
| campaign\_name     | Campaign.Name            |
| campaign\_type     | Campaign.Type            |
| campaign\_status   | Campaign.Status          |
| campaign\_currency | Campaign.CurrencyIsoCode |

If you need any additional fields from Campaign, you must add a new relation field to **CampaignMember** with the desired field.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.hockeystack.com/integrations/crms/salesforce/salesforce-campaigns.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
