How It Works
When a user visits a page with a Givebutter Widget, URL parameters are automatically detected and used to pre-fill form fields. This works with both button widgets (popup forms) and inline form widgets.1
User Clicks Custom Link
Donor clicks a personalized link from your email, SMS, or other channel
2
Parameters Detected
Widget library reads URL parameters from the page
3
Form Pre-filled
Donation form opens with information already filled in
4
Faster Checkout
Donor completes their gift with fewer steps
Supported Parameters
Donor Information
Pre-fill contact information to create a personalized experience:| Parameter | Description | Example |
|---|---|---|
gb_first_name | Donor’s first name | ?gb_first_name=Sarah |
gb_last_name | Donor’s last name | ?gb_last_name=Johnson |
gb_email | Donor’s email address | [email protected] |
gb_phone | Donor’s phone number | ?gb_phone=5551234567 |
gb_company | Company or organization name | ?gb_company=Acme+Corporation |
Donation Details
Control donation amount and preferences:| Parameter | Description | Example |
|---|---|---|
gb_amount | Preset donation amount (in cents) | ?gb_amount=5000 ($50.00) |
gb_recurring | Set as recurring donation | ?gb_recurring=true |
gb_frequency | Recurring frequency | ?gb_frequency=monthly |
gb_fund | Specific fund designation | ?gb_fund=scholarship |
gb_quantity | Number of items/tickets | ?gb_quantity=2 |
Donation Frequency Options
When usinggb_frequency, supported values:
weekly- Donate every weekmonthly- Donate every month (most common)quarterly- Donate every 3 monthsyearly- Donate once per year
Address Information
Pre-fill address fields for events, merchandise, or tax receipts:| Parameter | Description | Example |
|---|---|---|
gb_address_line1 | Street address | ?gb_address_line1=123+Main+St |
gb_address_line2 | Apartment, suite, etc | ?gb_address_line2=Apt+4B |
gb_address_city | City | ?gb_address_city=Portland |
gb_address_state | State/Province | ?gb_address_state=OR |
gb_address_zip | Postal code | ?gb_address_zip=97201 |
gb_address_country | Country code | ?gb_address_country=US |
URL Encoding
When building URLs with parameters, ensure special characters are properly encoded:- Spaces: Use
+or%20 - @ symbol: Use
%40 - Ampersand: Use
%26(in values, not between parameters)
Examples
Basic Donor Personalization
Pre-fill name and email for a personalized experience:Preset Donation Amount
Direct donors to a specific giving level:Important: Amounts are in cents. So $100.00 =
gb_amount=10000Monthly Giving Campaign
Create links for recurring donation campaigns:Event Registration Link
Pre-fill attendee information and ticket quantity:Full Example with All Fields
A complete personalized donation link:Use Cases
- Email Personalization
- Text/SMS Campaigns
- Direct Mail
- Member Renewals
- Fundraiser Pages
Use your email marketing platform’s merge tags to create personalized links:Benefits:
- Reduces form friction
- Increases conversion rates
- Creates personal touch
Combining with UTM Parameters
Prefill parameters work seamlessly with UTM tracking parameters:- Track the donation source (newsletter, email campaign)
- Pre-fill donor information (Sarah, [email protected])
- Suggest a $50 donation
Building URLs Programmatically
JavaScript Example
Python Example
Best Practices
Respect Privacy
Respect Privacy
Only pre-fill information you legitimately have:
- Use data from your CRM or email platform
- Don’t pre-fill sensitive information unless secure
- Respect GDPR and privacy regulations
- Allow donors to modify pre-filled fields
Test Your Links
Test Your Links
Always test personalized links before sending: - Click the link yourself - Verify all fields
pre-fill correctly - Check for URL encoding issues - Test on mobile devices - Confirm donation
completes successfully
Use URL Shorteners
Use URL Shorteners
Long URLs with many parameters can be unwieldy: - Use bit.ly, TinyURL, or custom shorteners -
Track click-through rates - Make links more shareable - Better for SMS and social media
Set Reasonable Defaults
Set Reasonable Defaults
When suggesting donation amounts: - Base on donor history if available - Use campaign-appropriate
levels - Don’t set amounts too high (can deter donors) - Consider offering multiple pre-set links
Combine with Personalization
Combine with Personalization
Create a complete personalized experience:
- Pre-fill form + personalized landing page copy
- Match suggested amount to donor capacity
- Reference past giving or engagement
- Use consistent messaging across channels
Troubleshooting
Parameters not working
Parameters not working
Common issues:
- Missing
gb_prefix on parameter names - URL encoding problems (spaces, special characters)
- Widgets library not loaded on page
- Parameters stripped by redirects
- Wrong parameter names or values
Amount displays incorrectly
Amount displays incorrectly
The
gb_amount parameter uses cents, not dollars:- ✅ Correct:
gb_amount=5000for $50.00 - ❌ Incorrect:
gb_amount=50(this is $0.50)
Email not encoding properly
Email not encoding properly
Email addresses must have the @ symbol encoded:
- ✅ Correct:
gb_email=user%40example.com - ❌ Incorrect:
[email protected]
%40 instead of @ in URLs.Recurring donation not working
Recurring donation not working
Both parameters are required for recurring:Don’t forget to set both
gb_recurring AND gb_frequency.Security Considerations
Important: Pre-filled values are suggestions only. Donors can always modify any pre-filled
field before submitting their donation.
- Never pre-fill payment information (card numbers, CVV, etc.)
- Don’t include sensitive personal information in URLs
- URLs may be logged by servers, analytics tools, and browser history
- Use HTTPS for all donation pages
- Consider using POST requests for highly sensitive scenarios