Using URL Parameters to Pre-Configure Donation Buttons: using-url-parameters
GoodChange supports URL parameters that let you pre-configure your donation form before a donor ever clicks. By appending parameters to any fundraiser link, you can pre-select a donation type, set a default amount, and pass tracking codes — all without making the donor change anything on the form.
This is especially useful for embedding anchor buttons on websites, email blasts, text messages, and digital ads where you want donors to land on a form that's already set up the way you want.
What Is a URL Parameter?
A URL parameter (sometimes called a query parameter or query string) is a piece of information added to the end of a web link that tells the page how to behave when it loads. Parameters always come after the main URL and are made up of two parts: a name and a value, joined by an equals sign.
For example, in the link goodchange.app/f/your-slug?num=25, the parameter is num=25 — the name is num and the value is 25. When the form loads, it reads that parameter and sets the donation amount to $25 automatically.
You don't need any technical skills to use parameters. You just add them to the end of your fundraiser link before sharing it.
When to Use ? vs. &
Parameters follow a simple punctuation rule:
- Use
?before the first parameter you add. This tells the URL "parameters start here." - Use
&before every additional parameter after that. This means "and here's another one."
One parameter — use ?: goodchange.app/f/your-slug?num=25
Two parameters — use ? first, then &: goodchange.app/f/your-slug?type=monthly&num=25
Three parameters — ? once, & between each one after: goodchange.app/f/your-slug?type=monthly&num=25&refcode=junemail
A common mistake is using ? twice — that will break the link. There's only ever one ? in a URL, and it always comes before the first parameter.
Available Parameters
GoodChange currently supports the following URL parameters:
type=monthly— Pre-selects monthly recurring as the donation frequency.type=roundup— Pre-selects spare change roundup as the donation type.num=<number>— Pre-fills the donation amount field with a specific dollar value (e.g.,num=25sets the amount to $25).refcode=<code>— Tracks the source of the donation using your own custom reference code. This is separate from GoodChange's native marketing links and is useful if your team already uses its own tracking taxonomy.
Common Use Cases
Anchor buttons on your campaign website Build dedicated buttons for $25, $50, $100, and $250 — each linking to your fundraiser with the appropriate num value pre-filled. Donors click the amount they want and land on a form already set to that level.
Email asks Pair specific suggested amounts with each "Donate" button in your email so the form opens with that amount selected. Pre-filled amounts increase conversion by removing a step from the donor flow.
Text messages SMS asks work best with a clear amount and one tap. Use num= to set the amount and your form opens ready to give.
Monthly giving pushes Use type=monthly on dedicated recurring giving pages, social posts, or sustainer campaigns to land donors directly on the monthly tab.
Roundup recruitment Use type=roundup when promoting spare change giving so donors land on the enrollment flow without having to navigate to it.
Native Marketing Links vs. refcode
GoodChange has built-in marketing links (created from Manage → Marketing Links or your fundraiser's Marketing tab) that track traffic sources inside your dashboard. These are the recommended way to track campaign performance because they're tied directly to your reporting.
The refcode= parameter is for teams that already use their own external tracking system and want a simple parameter to pass through. Refcodes appear in your transaction reports — when you pull a report from Finance → Transactions, you'll see the refcode column populated for every donation that came through a tagged link. This makes it easy to filter, sort, or hand off to your data team.
If you're not sure which to use: start with native marketing links. They give you cleaner reporting in your dashboard. Use refcodes when you need an external system to recognize the tag.
Always Test Every Link Before You Send It
This is the single most important step. Before sharing a link with parameters anywhere — email, text, social, your website, a print QR code — click it yourself and confirm the form loads exactly the way you expect.
Check that:
- The correct donation type is selected (one-time, monthly, or roundup).
- The correct amount is pre-filled.
- The form opens to the right fundraiser.
- Your refcode (if used) is being passed through — you can confirm this by making a small test donation and checking that the refcode shows up in your transaction report.
A typo in a parameter name, a missing &, or a stray space can quietly break a link without giving any error message. The form will simply load without the configuration you intended, and you'll lose conversions you didn't even know you were losing. Testing takes 30 seconds and prevents real revenue loss.
If you're sending a high-volume email or text blast, it's worth asking a teammate to test the link from a different device too — sometimes copy-paste introduces invisible characters that only show up on certain platforms.
Tips
- Parameters are case-sensitive — use lowercase (
type=monthly, nottype=Monthly). - The
numvalue should be a whole dollar amount with no symbol or decimal (usenum=25, notnum=$25ornum=25.00). - You can combine GoodChange's native marketing links with parameters — both will pass through.
- Keep refcodes short, lowercase, and descriptive (e.g.,
refcode=junemail,refcode=beckytx).
Questions? Email us at support@goodchange.app.
Updated on: 06/05/2026
Thank you!