Loading article…
Loading article…
Last updated on Aug 27, 2026
When linking to a Public Page, pre-populate certain values by passing them as GET parameters in the URL.
A pre-populated URL is your Public Signup Page URL with a query string of parameter/value pairs appended to it.
To pre-populate a Public Page
?, followed by one or more parameters from Pre-populate customer and billing fields or Pre-populate Products, in the form parameter=value.&.For example:
https://general-goods.chargifypay.com/subscribe/5x8sbq29vgkn/monthly-product?first_name=John&last_name=Doe&email=john.doe@example.com
Pass any of the following parameters in your URL to pre-populate the corresponding Customer or Shipping/Contact field.
| Parameter | Description |
|---|---|
first_name | Fills the value for the Customer's "First Name" (fills the value for both Shipping/Contact info and Billing info, unless billing_first_name is provided) |
last_name | Fills the value for the Customer's "Last Name" (fills the value for both Shipping/Contact info and Billing info, unless billing_last_name is provided) |
billing_first_name | Fills the value for the Billing Address's "First Name" field (overrides the value provided by first_name, if any) |
billing_last_name | Fills the value for the Billing Address's "Last Name" field (overrides the value provided by last_name, if any) |
email | Fills the value for the Customer's "Email Address" |
reference | Sets a hidden field to supply a value for the Customer's "Reference" value (the unique identifier you use for the Customer within your own application) |
locale | Sets a hidden field to supply a value for the Customer's "Language Settings"; see Understand Multi-Lingual Invoices for details |
organization | Fills the value for the Customer's "Organization" |
phone | Fills the value for the Customer's "Phone" |
address | Fills the value for the Customer's "Shipping Address 1" |
address_2 | Fills the value for the Customer's "Shipping Address 2" |
city | Fills the value for the Customer's "Shipping City" |
state | Fills the value for the Customer's "Shipping State" |
country | Fills the value for the Customer's "Shipping Country" |
zip | Fills the value for the Customer's "Shipping ZIP Code" |
Customer and shipping fields
The Shipping Country auto-fills based on the Customer's location. Pre-populating a state that doesn't exist in that country doesn't work. Supply the corresponding city too, and we recommend always supplying a country alongside the state and city.
| Parameter | Description |
|---|---|
billing_address | Fills the value for the cardholder's "Billing Address 1" |
billing_address_2 | Fills the value for the cardholder's "Billing Address 2" |
billing_city | Fills the value for the Billing "City" |
billing_state | Fills the value for the cardholder's "Billing State" (if state is supplied, a matching country is required) |
billing_country | Fills the value for the cardholder's "Billing Country" |
billing_zip | Fills the value for the cardholder's "Billing ZIP Code" |
coupon_code | Fills the value for the coupon code to use with the Subscription |
Billing and cardholder fields
For example, accessing a Public Signup Page URL with the following query string generates the form pre-populated as shown below:
?first_name=John&last_name=Doe&email=john.doe@example.com&reference=1234

Include ref in the parameters to specify a referral code. See Understanding Referrals for details.
For how these attributes apply to the created Customer and payment profile, see the "Subscription Input Attributes" section of the Subscriptions API documentation.
If any value you pass contains a character with special meaning in a URL, percent-encode it. Use the table below as a quick reference for common percent-encoding equivalents.
| Special Character | Encoding |
|---|---|
| ! (exclamation mark) | %21 |
| # (number sign) | %23 |
| $ (dollar sign) | %24 |
| % (percent sign) | %25 |
| & (ampersand) | %26 |
| ' (apostrophe) | %27 |
| ( (left parenthesis) | %28 |
| ) (right parenthesis) | %29 |
| * (asterisk) | %2A |
| + (plus sign) | %2B |
| , (comma) | %2C |
| / (slash) | %2F |
| : (colon) | %3A |
| ; (semicolon) | %3B |
| = (equals sign) | %3D |
| ? (question mark) | %3F |
| @ (at sign) | %40 |
| [ (left bracket) | %5B |
| ] (right bracket) | %5D |
For example, a coupon code of @50%OFF is sent as %4050%25OFF.
Pre-populate a Product by passing its numeric Product ID (visible in your Products list) and the desired quantity. The order of the parameters matters for setting the quantity of each Product correctly.
Depending on your site's catalog terminology, your Products list may still display as your Components list.
Construct your URL like this:
?components[392132][allocated_quantity]=100&components[392135][allocated_quantity]=100
Full example:
https://general-goods.chargifypay.com/subscribe/5x8sbq29vgkn/monthly-product?components[392132][allocated_quantity]=100&components[392135][allocated_quantity]=100

Construct your URL like this:
?components[386936][unit_balance]=11000
Full example:
https://general-goods.chargifypay.com/subscribe/5x8sbq29vgkn/monthly-product?components[386936][unit_balance]=11000

Construct your URL like this, using 1 for "on" and 0 for "off":
?components[392128][allocated_quantity]=1
Full example:
https://general-goods.chargifypay.com/subscribe/5x8sbq29vgkn/monthly-product?components[392128][allocated_quantity]=1

Advanced Billing previously supported a different way of formulating these URLs. Both syntaxes work; the versions above are simpler for most cases.
The legacy syntax:
https://general-goods.chargifypay.com/subscribe/5x8sbq29vgkn/monthly-product?components[][component_id]=375250&components[][allocated_quantity]=9&components[][component_id]=375042&components[][unit_balance]=20&components[][component_id]=375117&components[][allocated_quantity]=1
The next_billing_at attribute can't be pre-populated. To delay the first charge, configure a trial period for the Plan, or use Calendar Billing to snap it to a particular day.
Custom fields can't be pre-populated using the query parameters above. See Customize a Modern Public Signup Page with JavaScript and CSS for adding your own script to populate a custom field on a Public Signup Page instead.
See Public Signup Page Settings Reference for every other setting on an individual Public Signup Page.
See Choose Accepted Card Brands for controlling which card brands your Public Pages accept.
Still need help?
Reach out and our support team will take it from here.