GGiveLinkDocs
GGiveLinkDocs
DashboardFeature RequestsIntroductionQuickstartPricing

Guides

Donation FormsCampaignsDonor ManagementRecurring GivingEmail & CommunicationsEvents & TicketingPeer-to-Peer FundraisingHow fees workDonor fee coverageCover-fees settings for nonprofitsOrg Intelligence

Contacts

Advanced filter logic
Custom fields — filter and sort contactsFilter contacts by a custom field

Integrations

Integrations OverviewStripeWebhooksZapier

Donation Widget

Wallet setupInstall the widget and activate wallets

API Reference

API OverviewAuthentication
Create CampaignGet CampaignUpdate CampaignGet Public CampaignList CampaignsCampaign Analytics
API ReferenceCampaigns

Campaign Analytics

Preview reference for future public campaign analytics API access.

Public analytics API access is coming soon. This page is a preview reference, not a live launch integration surface.

GET /api/reporting/campaign/:id

Returns detailed analytics for a single campaign. Includes a daily donation trend, top donor list, payment method breakdown, frequency breakdown, UTM source breakdown, and peak donation hour.

Path Parameters

ParameterTypeRequiredDescription
idstringYesThe campaign ID to retrieve analytics for

Query Parameters

ParameterTypeRequiredDefaultDescription
orgIdstringYesThe organization ID. Used to verify access.
startDatestringNo30 days agoISO 8601 start date for the trend window
endDatestringNoTodayISO 8601 end date for the trend window

Authentication

Requires a valid Clerk session JWT in the Authorization: Bearer header. The authenticated user must be a member of the organization that owns this campaign.

Response

campaign object

FieldTypeDescription
idstringCampaign ID
titlestringCampaign title
goalAmountCentsinteger or nullFundraising goal in cents
raisedAmountCentsintegerRunning total raised (all-time)
donationCountintegerTotal succeeded donation count (all-time)
statusstringCampaign status
startDatestring or nullISO 8601 campaign start date
endDatestring or nullISO 8601 campaign end date

summary object

FieldTypeDescription
totalRaisedCentsintegerTotal amount raised in cents
donationCountintegerTotal number of succeeded donations
avgGiftCentsintegerAverage donation amount in cents
uniqueDonorsintegerNumber of unique donors
recurringCountintegerNumber of recurring donations
oneTimeCountintegerNumber of one-time donations

trend array

Daily donation data for the requested date range. One entry per calendar day.

FieldTypeDescription
datestringDate in YYYY-MM-DD format
amountCentsintegerTotal donated on this day in cents
countintegerNumber of donations on this day

topDonors array

Up to 10 top donors by total amount given.

FieldTypeDescription
donorIdstringInternal donor ID
firstNamestringDonor first name, or "Anonymous"
lastNamestringDonor last initial (e.g., "S.")
totalCentsintegerTotal amount given in cents
countintegerNumber of donations

paymentMethods array

FieldTypeDescription
methodstring"CARD", "ACH", "APPLE_PAY", "GOOGLE_PAY", or "UNKNOWN"
countintegerNumber of donations via this method
amountCentsintegerTotal donated via this method in cents

frequencyBreakdown array

FieldTypeDescription
frequencystring"ONE_TIME", "MONTHLY", "QUARTERLY", or "ANNUAL"
countintegerNumber of donations at this frequency
amountCentsintegerTotal donated at this frequency in cents

topSources array

Up to 5 top UTM sources by total amount raised.

FieldTypeDescription
sourcestringUTM source value (e.g., "email")
countintegerNumber of donations from this source
amountCentsintegerTotal donated from this source in cents

peakHour

The UTC hour of day (0-23) that received the most donations. null if the campaign has no donations.

Example

Public API access is not live at launch, so there is no production base URL for this request yet.

{
  "campaign": {
    "id": "clx9876543210",
    "title": "Spring 2026 Annual Fund",
    "goalAmountCents": 5000000,
    "raisedAmountCents": 1245000,
    "donationCount": 87,
    "status": "ACTIVE",
    "startDate": "2026-03-01T00:00:00.000Z",
    "endDate": "2026-06-30T23:59:59.000Z"
  },
  "summary": {
    "totalRaisedCents": 1245000,
    "donationCount": 87,
    "avgGiftCents": 14310,
    "uniqueDonors": 74,
    "recurringCount": 23,
    "oneTimeCount": 64
  },
  "trend": [
    { "date": "2026-02-01", "amountCents": 0, "count": 0 },
    { "date": "2026-02-02", "amountCents": 25000, "count": 2 },
    { "date": "2026-02-03", "amountCents": 100000, "count": 7 }
  ],
  "topDonors": [
    { "donorId": "clxdonor001", "firstName": "Margaret", "lastName": "T.", "totalCents": 250000, "count": 1 },
    { "donorId": "clxdonor002", "firstName": "Robert", "lastName": "K.", "totalCents": 100000, "count": 2 }
  ],
  "paymentMethods": [
    { "method": "CARD", "count": 70, "amountCents": 900000 },
    { "method": "ACH", "count": 17, "amountCents": 345000 }
  ],
  "frequencyBreakdown": [
    { "frequency": "ONE_TIME", "count": 64, "amountCents": 800000 },
    { "frequency": "MONTHLY", "count": 23, "amountCents": 445000 }
  ],
  "topSources": [
    { "source": "email", "count": 45, "amountCents": 650000 },
    { "source": "facebook", "count": 12, "amountCents": 180000 }
  ],
  "peakHour": 19
}

Error Responses

StatusErrorDescription
400Validation failedorgId is missing or invalid
401UnauthorizedMissing or invalid Authorization header
403ForbiddenAuthenticated user is not a member of the specified org
404Campaign not foundNo campaign with this ID exists for the given org
How is this guide?
Edit this page→Request a feature→Changelog→

Last updated on 6/12/2026

List Campaigns

Preview reference for future public campaign API access.

Create Donation

Preview reference for future public donation API access.

On this page

Path ParametersQuery ParametersAuthenticationResponsecampaign objectsummary objecttrend arraytopDonors arraypaymentMethods arrayfrequencyBreakdown arraytopSources arraypeakHourExampleError Responses

Ask GiveLink

AI-powered docs assistant

Ask me anything about GiveLink — campaigns, donations, integrations, pricing, or API usage.

AI responses may not be accurate. Check the docs for details.