DOCS

Merge tags

> Requires: Fundations Pro

Merge tags are placeholders you use in field mappings and integration templates. When a trigger fires, each tag is replaced with the actual value from the current event.

Syntax

Use single curly braces: {tag_name}

You can combine tags with static text: Donation from {action_title} by {donor_name}

Trigger availability

Not all tags are populated for every trigger. Tags in the Donation and Donor groups are only available on donation-related triggers. Tags in the Action group are available on action and donation triggers. If you use a tag that is not populated for the current trigger, the value will be an empty string.

TriggerAvailable groups
donation_receivedUser, Action, Campaign, Team, Donation, Donor, Site
donation_failedUser, Action, Campaign, Team, Donation, Donor, Site
user_registeredUser, Site
action_createdUser, Action, Campaign, Team, Site
action_updatedUser, Action, Campaign, Team, Site
goal_reachedUser, Action, Campaign, Team, Site, Milestone
campaign_joinedUser, Action, Campaign, Site
action_expiredUser, Action, Site
action_claimedUser, Action, Site

Tag reference

User

TagDescription
{user_id}WordPress user ID
{user_email}User email address
{user_first_name}First name from user profile
{user_last_name}Last name from user profile
{user_display_name}Display name
{user_login}Username
{user_registered}Date the user registered
{user_url}User website URL

Action (Fundation)

TagDescription
{action_id}Post ID of the fundation
{action_title}Title of the fundation
{action_content}Description/content
{action_url}Full URL to the fundation page
{action_goal}Fundraising goal amount
{action_raised}Amount raised so far
{action_progress}Percentage of goal reached
{action_status}Current status (active, completed, expired)
{action_end_date}End date
{action_created}Date the fundation was created
{action_image}URL of the featured image
{is_campaign}1 if this is a campaign, 0 otherwise
{claim_url}Claim link for guest-created fundations
{creator_email}Creator email address
{creator_first_name}Creator first name
{creator_last_name}Creator last name
{creator_name}Creator display name
{creator_anonymous}1 if the creator is anonymous
{structure_type}One of: individual, join_team, create_team

Campaign

TagDescription
{campaign_id}Post ID of the parent campaign
{campaign_title}Title of the parent campaign

Team

TagDescription
{team_id}Post ID of the team
{team_name}Team name
{team_url}URL to the team page
{team_goal}Team fundraising goal
{team_raised}Amount raised by the team

Donation

TagDescription
{donation_id}Donation post ID
{donation_amount}Donation amount (numeric)
{donation_currency}Currency code (e.g. EUR, USD)
{donation_date}Date of the donation
{donation_status}Donation status
{payment_method}Payment gateway used
{is_anonymous}1 if the donor chose anonymous
{message}Donor message (may be empty)

Donor

TagDescription
{donor_email}Donor email address
{donor_first_name}Donor first name
{donor_last_name}Donor last name
{donor_name}Donor full name

Site

TagDescription
{site_name}WordPress site name
{site_url}WordPress site URL

Milestone

TagDescription
{milestone}The milestone amount that was reached

Custom form field tags

When you add custom fields to a donation form using the Form Builder, those fields are automatically registered as merge tags in the donation_received and donation_failed triggers. The tag key matches the field slug you defined in the form template.

Troubleshooting

If a tag shows as {tag_name} in the output, the tag name is not recognized. Check for typos and confirm the tag exists in the reference above. Tags that cannot be resolved are left unreplaced.

If a tag resolves to an empty value, the tag is valid but the data is empty in this context. For example, {message} is empty if the donor did not write a message. It can also mean the tag group is not available for the current trigger — see the availability table above.

Developer reference

Adding custom merge tags

add_filter( 'get_fund_integration_merge_tags', function( $merge_tags ) {
    // Add a tag to the 'site' group
    $merge_tags['site']['fields'][] = array(
        'key'   => 'my_tag',
        'label' => 'My Custom Value',
    );
    return $merge_tags;
} );

The get_fund_integration_trigger_data filter controls the actual resolved values:

add_filter( 'get_fund_integration_trigger_data', function( $data, $trigger, $object_id ) {
    // Add your custom tag value to the data payload
    $data['my_tag'] = 'resolved value';
    return $data;
}, 10, 3 );