Pricebooks allow you to define and manage product pricing across regions, customer segments, and currencies. This guide explains how to create, edit, and assign Pricebooks.
Available as a paid add-on with any of the following subscriptions: Lite, Growth, Scale.
What is a Pricebook?
A Pricebook is a list of products with specific prices or currencies. It enables you to tailor pricing without changing your global product settings.
-
A single Pricebook can include prices in multiple currencies.
-
If you need different prices in the same currency (e.g., EUR pricing for both Germany and Finland, but with different amounts), you must create separate Pricebooks for each.
Creating a Pricebook
To create and manage Pricebooks:
-
Go to the Product in your HeadQ dashboard.
-
Open the Pricebooks
-
Click Create New Pricebook.
-
Add a name and (optionally) a description.
-
Save the Pricebook.
You can edit default prices for each product directly within the Pricebook view.
Editing Option / Variation
To edit option / Variation-level pricing (e.g., for product variants or configurations):
-
Go to the Product.
-
Click the three-dot menu
-
Select Pricing to adjust option / variation-specific pricing per Pricebook and currency.
Controlling Which Pricebook Is Used per Country
Pricebooks are automatically selected based on the visitor's country. This behavior is defined via the embed script on your storefront. Read more about how to install the HeadQ Script.
Default Script
<script type="text/javascript">
(function(h,e,a,d,q) {
h.__HQ__ = { store: 'test' };
d = e.getElementsByTagName('head')[0];
a = e.createElement('script');
a.type = 'text/javascript';
a.src = 'https://cdn.myheadq.com/static/headq.js';
d.appendChild(a);
q = e.createElement('link');
q.rel = 'stylesheet';
q.href = 'https://cdn.myheadq.com/static/headq.css';
q.type = 'text/css';
d.appendChild(q);
})(window,document);
</script>
Setting the Country Programmatically
To explicitly define which country (and thereby which Pricebook and currency) should be used for the visitor, update the customerLocation
in the script:
<script type="text/javascript">
(function(h,e,a,d,q) {
h.__HQ__ = {
store: 'test',
customerLocation: { country_code: 'DE' }
};
d = e.getElementsByTagName('head')[0];
a = e.createElement('script');
a.type = 'text/javascript';
a.src = 'https://cdn.myheadq.com/static/headq.js';
d.appendChild(a);
q = e.createElement('link');
q.rel = 'stylesheet';
q.href = 'https://cdn.myheadq.com/static/headq.css';
q.type = 'text/css';
d.appendChild(q);
})(window,document);
</script>
Replace 'DE'
with the desired two-letter ISO country code (in uppercase). The selected country determines:
-
The currency used
-
The Pricebook applied
-
Any regional configurations from Settings → Region
Assigning Currency and Pricebook to a Country
To define which Pricebook and currency each country should use:
-
Go to Settings → Region in your HeadQ admin.
-
Select the country you want to configure.
-
Assign the default currency and Pricebook for that country.
Combined with the country code in your embed script, these settings ensure customers automatically see the correct pricing based on their region.
Using One Pricebook Across Multiple Countries
Even though the embed script specifies a single country using the customerLocation.country_code
field (e.g. DE
for Germany), you can use the same Pricebook / script for multiple countries if they all:
-
Use the same currency (e.g. EUR)
-
Share identical pricing for the included products
Example
If Germany, Finland, and France all use the Euro and follow the same pricing logic, you only need one Pricebook / script (e.g. "EUR - Germany"). You can set the script’s country_code
to DE
.
🟨 Important Notes
-
Make sure pricing remains identical across all linked countries
-
If any country diverges in pricing, create a dedicated Pricebook and update the embed script to reference that country's ISO code (e.g.
FR
for France).
👉 Remember: Only one HeadQ embed script can be present on a page at a time. If you have a different Pricebook and script for a country (like France), it must be used on a separate page dedicated to that country. -
Test changes by temporarily changing the
country_code
value in the script to confirm correct price rendering. -
Use one Pricebook per region/currency combination where pricing differs.
-
Name clearly (e.g., "EUR - Germany", "USD - US") to make selection easier.