Skip to main content

Campaign Data Mapping

This document details the field-level mappings between WeGive campaign records and Blackbaud Raiser’s Edge NXT campaign records.

Object Overview

WeGive Campaign Object

  • Purpose: Represents fundraising campaigns and appeals in the WeGive platform
  • API Endpoint: /campaigns/{campaign}
  • Unique Identifier: WeGive campaign ID
  • Marketing: Controls donation attribution and campaign tracking

Blackbaud Campaign Object

  • Purpose: Represents fundraising campaigns and appeals in Raiser’s Edge NXT
  • API Endpoint: fundraising/v1/campaigns/{campaign_id}
  • Unique Identifier: Blackbaud campaign ID
  • Fundraising Management: Controls campaign goals, appeals, and attribution

Core Campaign Mapping

Basic Campaign Information

WeGive FieldBlackbaud FieldData TypeDirectionRequiredNotes
idCorrelation ID storageStringBothNoStored in custom field or external reference
namedescriptionStringBothYesCampaign display name
codelookup_idStringBothNoShort campaign identifier
typecategoryStringBothNoCampaign type classification
statusstatusStringBothNoActive, Inactive, Planned, Completed
goalgoal.valueDecimalBothNoFundraising goal amount
descriptionnotesTextBothNoDetailed campaign description

Campaign Lifecycle

WeGive FieldBlackbaud FieldData TypeDirectionRequiredNotes
start_datestart_dateDateBothNoCampaign launch date
end_dateend_dateDateBothNoCampaign completion date
created_atdate_addedDateTimeBothNoCampaign creation timestamp
updated_atdate_modifiedDateTimeBothNoLast modification timestamp
activestatus = “Active”BooleanBothNoCampaign accepting donations

Financial Information

WeGive FieldBlackbaud FieldData TypeDirectionRequiredNotes
target_amountgoal.valueDecimalBothNoFundraising target
raised_amountCalculated fieldDecimalPull OnlyNoTotal raised to date
participant_goalparticipant_goalDecimalBothNoIndividual participant goal
minimum_giftminimum_giftDecimalBothNoMinimum gift amount

Campaign Type Mapping

Standard Campaign Types

WeGive TypeBlackbaud CategoryDescription
annualAnnual FundAnnual giving campaigns
capitalCapital CampaignBuilding and capital projects
major_giftsMajor GiftsHigh-dollar donor cultivation
planned_givingPlanned GivingEstate and legacy gifts
special_eventSpecial EventFundraising events and galas
emergencyEmergencyCrisis response and disaster relief
endowmentEndowmentEndowment building campaigns
membershipMembershipMembership drives and renewals

Campaign Status Values

WeGive StatusBlackbaud StatusDescription
activeActiveCurrently running campaign
plannedPlannedFuture campaign in planning
completedCompletedSuccessfully completed campaign
cancelledCancelledCancelled before completion
suspendedSuspendedTemporarily paused campaign
archivedInactiveHistorical campaign data

Appeal Integration

Appeal Hierarchy

WeGive FieldBlackbaud FieldData TypeDirectionRequiredNotes
appealsappealsArrayBothNoAssociated appeals within campaign
default_appealdefault_appeal_idStringBothNoPrimary appeal for campaign
appeal_countCalculatedIntegerBothNoNumber of appeals in campaign

Appeal Information

WeGive Appeal FieldBlackbaud Appeal FieldData TypeDirectionRequiredNotes
appeal_ididStringBothYesAppeal unique identifier
appeal_namedescriptionStringBothYesAppeal display name
appeal_codelookup_idStringBothNoShort appeal identifier
appeal_typetypeStringBothNoDirect mail, email, phone, etc.
appeal_goalgoal.valueDecimalBothNoAppeal-specific goal

Marketing and Attribution

Source Tracking

WeGive FieldBlackbaud FieldData TypeDirectionRequiredNotes
source_codesource_codeStringBothNoMarketing source identifier
utm_campaigncampaign_codeStringBothNoUTM campaign parameter
utm_sourcesource_detailStringBothNoUTM source parameter
utm_mediummediumStringBothNoUTM medium parameter
package_codepackage_idStringBothNoDirect mail package code

Channel Attribution

WeGive ChannelBlackbaud ChannelDescription
emailEmailEmail marketing campaigns
direct_mailDirect MailPrint mail campaigns
phonePhoneTelephone fundraising
onlineOnlineWebsite and digital campaigns
socialSocial MediaSocial media campaigns
eventSpecial EventEvent-based fundraising
peer_to_peerPeer-to-PeerGrassroots fundraising

Segmentation and Targeting

Donor Segmentation

WeGive FieldBlackbaud FieldData TypeDirectionRequiredNotes
target_segmentsconstituent_query_idArrayBothNoTarget donor segments
exclusion_segmentsexclusion_query_idArrayBothNoExcluded donor segments
geographic_targetinggeographic_filterObjectBothNoGeographic targeting rules
demographic_targetingdemographic_filterObjectBothNoDemographic targeting rules

Communication Preferences

WeGive FieldBlackbaud FieldData TypeDirectionRequiredNotes
email_frequencyemail_frequencyStringBothNoEmail communication frequency
mail_frequencymail_frequencyStringBothNoDirect mail frequency
phone_frequencyphone_frequencyStringBothNoPhone call frequency
suppress_appealssuppress_appealsBooleanBothNoSuppress appeal communications

Performance Tracking

Campaign Metrics

WeGive FieldBlackbaud FieldData TypeDirectionRequiredNotes
total_donorsCalculatedIntegerPull OnlyNoTotal unique donors
total_giftsCalculatedIntegerPull OnlyNoTotal number of gifts
average_giftCalculatedDecimalPull OnlyNoAverage gift amount
response_rateCalculatedDecimalPull OnlyNoResponse rate percentage
cost_per_dollarcost_ratioDecimalBothNoFundraising cost ratio

Conversion Tracking

WeGive FieldBlackbaud FieldData TypeDirectionRequiredNotes
solicitations_sentsolicitationsIntegerBothNoTotal solicitations sent
responses_receivedresponsesIntegerBothNoTotal responses received
conversionsgifts_receivedIntegerBothNoActual gifts received
conversion_rateCalculatedDecimalBothNoConversion percentage

Budget and Financial Planning

Campaign Budget

WeGive FieldBlackbaud FieldData TypeDirectionRequiredNotes
budget_totalexpense_budgetDecimalBothNoTotal campaign budget
budget_allocatedexpenses_allocatedDecimalBothNoBudget already allocated
budget_spentexpenses_actualDecimalBothNoActual expenses to date
budget_remainingCalculatedDecimalBothNoRemaining budget

Cost Categories

WeGive FieldBlackbaud FieldData TypeDirectionRequiredNotes
printing_costsprinting_expenseDecimalBothNoPrinting and materials
mailing_costspostage_expenseDecimalBothNoPostage and shipping
staff_costsstaff_expenseDecimalBothNoStaff time allocation
vendor_costsvendor_expenseDecimalBothNoExternal vendor costs

Custom Fields and Attributes

Extended Campaign Information

WeGive FieldBlackbaud FieldData TypeDirectionRequiredNotes
custom_fieldsattributesObjectBothNoOrganization-specific fields
tagscampaign_codesArrayBothNoCampaign categorization tags
keywordssearch_keywordsArrayBothNoSearch and filtering keywords
priority_levelpriorityStringBothNoCampaign priority ranking

Stewardship and Recognition

WeGive FieldBlackbaud FieldData TypeDirectionRequiredNotes
thank_you_templateacknowledgment_templateStringBothNoThank you message template
receipt_templatereceipt_templateStringBothNoTax receipt template
recognition_levelsrecognition_tiersArrayBothNoDonor recognition levels
stewardship_planstewardship_scheduleObjectBothNoOngoing stewardship activities

Data Transformation Rules

Name and Description Handling

Campaign Names
  • Preserve original formatting and capitalization
  • Maximum length: 255 characters
  • Special characters allowed and preserved
  • Duplicate name detection within same year
Campaign Descriptions
  • HTML markup removed for compatibility
  • Maximum length: 4000 characters
  • Line breaks preserved where possible
  • Rich text formatting converted to plain text

Date and Time Processing

Campaign Timeline
  • Start dates can be in the future for planned campaigns
  • End dates must be after start dates
  • Timezone conversion for international campaigns
  • Automatic status updates based on dates
Duration Calculations
  • Campaign length calculated automatically
  • Progress tracking updated daily
  • Milestone date tracking
  • Extension handling for ongoing campaigns

Financial Data Processing

Goal and Target Amounts
  • Goals rounded to nearest dollar
  • Percentage completion calculated automatically
  • Progress tracking updated with each gift
  • Historical goal changes maintained
Budget Calculations
  • Cost-per-dollar-raised calculated automatically
  • ROI calculations updated in real-time
  • Variance analysis between budget and actual
  • Efficiency metrics tracked over time

Sync Behavior

Create Operations

New WeGive Campaign → Blackbaud Campaign
  1. Validate campaign data and requirements
  2. Check for duplicate campaign names or codes
  3. Create campaign record in Blackbaud
  4. Set initial status and configuration
  5. Store correlation ID for future updates
  6. Create default appeal if specified
New Blackbaud Campaign → WeGive Campaign
  1. Extract campaign information and attributes
  2. Map to WeGive campaign format
  3. Preserve campaign classification and status
  4. Create WeGive campaign record
  5. Store correlation ID and external references

Update Operations

Bidirectional Updates
  • Campaign name and description changes
  • Status updates (active/inactive/completed)
  • Goal and target modifications
  • Date range adjustments
  • Budget and expense updates
  • Performance metric updates
Restricted Updates
  • Campaign codes typically immutable after creation
  • Start dates may be restricted once campaign begins
  • Historical data preservation for completed campaigns
  • Approval required for major goal changes

Completion and Archive Operations

Campaign Completion Process
  • Status change to “Completed”
  • Final performance metrics calculation
  • Success/failure assessment against goals
  • Archive campaign data for historical reporting
  • Transfer learnings to campaign template library

API Examples

Create Campaign Record

WeGive to Blackbaud Campaign Creation
POST /fundraising/v1/campaigns
{
  "description": "Annual Giving Campaign 2024",
  "lookup_id": "ANN2024",
  "category": "Annual Fund",
  "status": "Active",
  "goal": {
    "value": 250000.00,
    "currency": "USD"
  },
  "start_date": "2024-01-01",
  "end_date": "2024-12-31",
  "notes": "Supporting general operating expenses and program expansion",
  "source_code": "AN24",
  "appeals": [
    {
      "description": "Spring Appeal 2024",
      "lookup_id": "SP24",
      "type": "Direct Mail",
      "goal": {"value": 75000.00, "currency": "USD"}
    },
    {
      "description": "Fall Appeal 2024", 
      "lookup_id": "FA24",
      "type": "Email",
      "goal": {"value": 50000.00, "currency": "USD"}
    }
  ]
}

Update Campaign Progress

Blackbaud to WeGive Campaign Progress Sync
PUT /campaigns/{campaign_id}
{
  "name": "Annual Giving Campaign 2024",
  "status": "active",
  "goal": 250000.00,
  "raised_amount": 87500.00,
  "progress_percentage": 35.0,
  "total_donors": 145,
  "total_gifts": 178,
  "average_gift": 491.57,
  "response_rate": 12.3,
  "updated_at": "2024-03-15T10:30:00Z",
  "blackbaud_campaign_id": "12345678-1234-1234-1234-123456789abc"
}

Campaign with Appeals and Segmentation

Complex Campaign with Multiple Appeals
{
  "description": "Capital Campaign - New Arts Center",
  "lookup_id": "ARTS2024",
  "category": "Capital Campaign",
  "status": "Active",
  "goal": {"value": 2000000.00, "currency": "USD"},
  "start_date": "2024-01-01",
  "end_date": "2026-12-31",
  "appeals": [
    {
      "description": "Leadership Gifts Phase",
      "lookup_id": "ARTSLEAD",
      "type": "Major Gifts",
      "goal": {"value": 1000000.00, "currency": "USD"},
      "minimum_gift": 25000.00
    },
    {
      "description": "Public Phase",
      "lookup_id": "ARTSPUB", 
      "type": "Direct Mail",
      "goal": {"value": 750000.00, "currency": "USD"},
      "minimum_gift": 100.00
    },
    {
      "description": "Online Campaign",
      "lookup_id": "ARTSWEB",
      "type": "Online",
      "goal": {"value": 250000.00, "currency": "USD"}
    }
  ],
  "attributes": [
    {
      "attribute_category": "Project Type",
      "string_value": "Building Construction"
    },
    {
      "attribute_category": "Architect",
      "string_value": "Johnson Architecture Firm"
    }
  ]
}

Error Handling and Validation

Required Field Validation

Critical Fields
  • Campaign name/description must not be empty
  • Campaign code must be unique within organization
  • Status must be valid enumerated value
  • Goal amount must be positive if specified
  • Date ranges must be logical (start before end)
Data Quality Checks
  • Name length validation (max 255 characters)
  • Code format validation (alphanumeric plus hyphens)
  • Amount precision validation (2 decimal places)
  • Date format validation (ISO 8601)
  • Appeal consistency within campaign

Common Error Scenarios

Duplicate Campaign Names
  • Error: Campaign name already exists for same period
  • Resolution: Append year or modify name
  • Action: Queue for administrative review
Invalid Campaign Codes
  • Error: Campaign code format invalid or duplicate
  • Resolution: Generate alternative code or modify
  • Action: Log warning and use system-generated code
Date Range Validation
  • Error: End date before start date
  • Resolution: Adjust dates or use open-ended range
  • Action: Log error and notify administrators

Retry and Recovery Logic

Temporary Failures
  • Network timeouts: Retry with exponential backoff
  • Rate limiting: Respect retry-after headers
  • Server errors: Retry up to 3 times with delays
Permanent Failures
  • Validation errors: Log and skip record
  • Authorization errors: Alert system administrators
  • Data conflicts: Queue for manual resolution

Performance Optimization

Batch Processing

Campaign Creation Batches
  • Process up to 25 campaigns per API call
  • Include appeals in campaign creation
  • Validate all campaign data before batch submission
  • Handle partial batch failures gracefully
Update Optimization
  • Delta sync for changed records only
  • Timestamp-based change detection
  • Bulk update operations where supported
  • Performance metric updates in batches

Caching Strategies

Reference Data Caching
  • Campaign information cached for 15 minutes
  • Appeal data cached for 10 minutes
  • Status and type lookups cached for 1 hour
  • Performance metrics cached for 5 minutes
Performance Monitoring
  • Average campaign sync time tracking
  • API response time monitoring
  • Error rate alerting by campaign type
  • Cache effectiveness measurement

Reporting and Analytics

Campaign Performance Analytics

Success Metrics
  • Goal achievement rates by campaign type
  • Average time to reach funding goals
  • Donor acquisition and retention rates
  • Cost-per-dollar-raised analysis
  • ROI calculations and comparisons
Trend Analysis
  • Campaign performance over time
  • Seasonal giving patterns
  • Appeal effectiveness comparison
  • Channel performance analysis
  • Segmentation effectiveness

Comparative Reporting

Cross-Campaign Analysis
  • Performance benchmarking
  • Best practice identification
  • Resource allocation optimization
  • Strategic planning insights
  • Future campaign planning

Best Practices

Campaign Planning

  1. Clear Goals: Set specific, measurable, achievable goals
  2. Realistic Timelines: Allow adequate time for campaign execution
  3. Defined Appeals: Create distinct appeals with clear messaging
  4. Target Segmentation: Use appropriate donor segmentation
  5. Performance Tracking: Monitor progress regularly

Data Management

  1. Consistent Naming: Use standardized campaign naming conventions
  2. Code Standards: Implement consistent code formats
  3. Regular Updates: Keep campaign data current and accurate
  4. Historical Preservation: Maintain historical campaign data
  5. Quality Assurance: Regular data quality audits

Integration Management

  1. Sync Frequency: Appropriate sync timing for campaign needs
  2. Error Monitoring: Proactive error detection and resolution
  3. Performance Tracking: Monitor sync performance and optimization
  4. Backup Procedures: Regular campaign data backups
  5. Testing Protocols: Thorough testing before campaign launch

Troubleshooting Guide

Common Sync Issues

Campaign Creation Failures
  • Verify campaign name uniqueness
  • Check campaign code format and availability
  • Validate goal amounts and date ranges
  • Confirm user permissions for campaign creation
Appeal Sync Problems
  • Review appeal hierarchy relationships
  • Check appeal goal consistency with campaign
  • Validate appeal codes and descriptions
  • Verify appeal type mappings
Performance Data Discrepancies
  • Compare calculation methods between systems
  • Check date range filters for performance metrics
  • Verify gift allocation to correct campaigns
  • Review segmentation and targeting criteria

Data Quality Issues

Missing Campaign Information
  • Check field mapping completeness
  • Verify data availability in source system
  • Review sync scope and filtering rules
  • Validate required field population
Inconsistent Classifications
  • Review campaign type and category mappings
  • Check for custom field configuration differences
  • Validate enumerated value consistency
  • Confirm appeal relationship accuracy

Performance Problems

Slow Campaign Processing
  • Optimize batch sizes for campaign volume
  • Review API response times and bottlenecks
  • Check network connectivity and latency
  • Monitor system resource utilization
High Error Rates
  • Analyze error patterns and common causes
  • Review data validation rule effectiveness
  • Check system capacity and rate limits
  • Validate integration configuration settings

Support Resources

Documentation References

Support Contacts