> ## Documentation Index
> Fetch the complete documentation index at: https://docs.wegive.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Campaign

> Field mapping between WeGive campaigns and Salesforce Campaign records

WeGive campaigns sync to standard Salesforce `Campaign` records, the same object NPSP uses.

## Core fields

| WeGive field | NPC field | Sync |
| - | - | - |
| `name` | `Name` | ↔ |
| `start_date` | `StartDate` | ↔ |
| `end_date` | `EndDate` | ↔ |

<Warning>
  **`description`/`Description` and `active`/`IsActive` are not mapped by default.** Only Name, StartDate, and EndDate are seeded default mapping rules for Campaign — description and active-status are neither pushed nor pulled out of the box. Add a custom mapping rule under **Mapping Rules** if your org needs either synced.
</Warning>

## Hierarchy

| WeGive field | NPC field | Sync |
| - | - | - |
| `parent_campaign.npc_id` | `ParentId` | ↔ |

On push, a campaign with a parent writes the parent's Salesforce ID to `ParentId`. On pull, WeGive reads `ParentId` to rebuild the campaign tree. A parent must already be synced for the link to resolve; WeGive pushes parents before children.

## Linkage

| WeGive field | NPC field |
| - | - |
| `npc_id` | `Id` |

## Custom fields

Any mapped field not listed above is stored as a WeGive custom field on the campaign.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.