> ## Documentation Index
> Fetch the complete documentation index at: https://funnelfox.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Pricing localization & multi-currency prices

> Boost conversion by showing every customer a price in their local currency.

Pricing localization shows each customer a price in the currency they expect,
which boosts conversion on your paywall. A visitor in Germany sees euros, a
visitor in the UK sees pounds, and both buy through the same funnel.

A price in an unfamiliar currency asks your visitor to do the math before
paying. Showing the local currency removes that hesitation.

<Tip>
  Pricing localization builds on funnel locales. Set up your
  [locales](/docs/editor/localizations) first, because you select prices per locale.
</Tip>

## How pricing localization works

A localized price has three parts, and all three must agree:

1. **A price in your PSP**: One price or product per currency, created in
   your PSP dashboard.
2. **A locale that selects it**: Each locale points its Checkout element at
   one of those prices.
3. **Display text that matches**: Plan picker, Price picker, and Text
   elements show text you type, so you update it in every locale.

## Set up pricing localization

Create your prices first, then point each locale at the right one.

### 1. Create price for each currency

Create one price per currency in whichever payment provider holds your product catalog.

<Tabs>
  <Tab title="Stripe">
    Create one [Stripe price](https://docs.stripe.com/products-prices/how-products-and-prices-work#prices)
    per currency. Several prices can live on the same Stripe product, so one
    product can carry your USD, EUR, and GBP prices.

    For a [paid trial](/docs/elements/checkout#paid-trial), also create one
    one-time Stripe product per currency to charge for the trial.

    FunnelFox automatically syncs your Stripe products when the Editor page is reloaded.

    <Accordion title="How to create prices in Stripe">
      1. Go to [Product catalog](https://dashboard.stripe.com/products) in
         your Stripe dashboard.

      <Frame>
        <img src="https://mintcdn.com/funnelfox/CYUoIKypSJF6u2w4/assets/stripe-product-catalog.png?fit=max&auto=format&n=CYUoIKypSJF6u2w4&q=85&s=098ad61db38686cb44589f0b8d77f7b6" width="1886" height="850" data-path="assets/stripe-product-catalog.png" />
      </Frame>

      2. Click the product to open it.
      3. Click **+** under **Pricing**.

      <Frame>
        <img src="https://mintcdn.com/funnelfox/CYUoIKypSJF6u2w4/assets/stripe-add-price.png?fit=max&auto=format&n=CYUoIKypSJF6u2w4&q=85&s=1b8fa7cfed5d3230b41fa80500348eae" width="1891" height="856" data-path="assets/stripe-add-price.png" />
      </Frame>

      4. Enter the price details, including the currency.

      <Frame>
        <img src="https://mintcdn.com/funnelfox/CYUoIKypSJF6u2w4/assets/stripe-currency.png?fit=max&auto=format&n=CYUoIKypSJF6u2w4&q=85&s=120365f336d2525467ebd75dc734ccb5" width="1892" height="861" data-path="assets/stripe-currency.png" />
      </Frame>

      5. Click **Create price**.

      Repeat for every currency you sell in. All of the prices stay on the
      same product.
    </Accordion>

    <Info>
      On the [Stripe via FunnelFox Billing integration path](/docs/integrations/payments/stripe#setup), products aren't fetched
      from Stripe. Create your per-currency prices on the [Products page](/docs/dashboard/products) in FunnelFox instead.
    </Info>
  </Tab>

  <Tab title="Paddle">
    Create one [Paddle price](https://developer.paddle.com/build/products/create-products-prices)
    per currency on your subscription product.

    For a [paid trial](/docs/elements/checkout#paid-trial), each currency needs
    two prices: a subscription price with a free trial period, and a one-time
    price that charges for the trial.

    FunnelFox automatically syncs your Paddle products when the Editor page is reloaded.

    <Accordion title="How to create prices in Paddle">
      1. Go to **Catalog > Products** in Paddle.

      <Frame>
        <img src="https://mintcdn.com/funnelfox/fgitJ7EL9bkzvP7C/assets/paddle-products.png?fit=max&auto=format&n=fgitJ7EL9bkzvP7C&q=85&s=e5d3121ce83778bc92d5e8ae1d12c588" width="1909" height="976" data-path="assets/paddle-products.png" />
      </Frame>

      2. Open the product you sell and click **New price**.

      <Frame>
        <img src="https://mintcdn.com/funnelfox/fgitJ7EL9bkzvP7C/assets/paddle-new-price.png?fit=max&auto=format&n=fgitJ7EL9bkzvP7C&q=85&s=133adb1e2c128b6238f30528b5dd691b" width="1920" height="989" data-path="assets/paddle-new-price.png" />
      </Frame>

      3. Enter the price details, including the currency.

      <Frame>
        <img src="https://mintcdn.com/funnelfox/fgitJ7EL9bkzvP7C/assets/paddle-price-details.png?fit=max&auto=format&n=fgitJ7EL9bkzvP7C&q=85&s=1c25fa0c07921999d58a33ad8db1e611" width="1920" height="989" data-path="assets/paddle-price-details.png" />
      </Frame>

      4. Click **Save**.

      Repeat for every currency you sell in.
    </Accordion>
  </Tab>

  <Tab title="Solidgate">
    <Info>
      A Solidgate product carries a single currency for this setup. Adding another price to
      an existing product doesn't work, so every currency needs its own
      product.
    </Info>

    Create one [Solidgate product](https://docs.solidgate.com/billing/subscription-overview)
    per currency.

    Trials are configured on the Solidgate product itself, so each
    per-currency product carries its own
    [free trial](/docs/elements/checkout#free-trial) or
    [paid trial](/docs/elements/checkout#paid-trial) terms.

    FunnelFox automatically syncs your Solidgate products when the Editor page is reloaded.

    <Accordion title="How to create products in Solidgate">
      1. Go to **Billing > Products** in your
         [Solidgate dashboard](https://hub.solidgate.com).

      <Frame>
        <img src="https://mintcdn.com/funnelfox/CYUoIKypSJF6u2w4/assets/solidgate-products-catalog.png?fit=max&auto=format&n=CYUoIKypSJF6u2w4&q=85&s=d7214c7f0cf3116318f929fa87821b84" width="1920" height="989" data-path="assets/solidgate-products-catalog.png" />
      </Frame>

      2. Click **+ Create product**.

      <Frame>
        <img src="https://mintcdn.com/funnelfox/CYUoIKypSJF6u2w4/assets/solidgate-create-product.png?fit=max&auto=format&n=CYUoIKypSJF6u2w4&q=85&s=7d8d81b4916f846545b6feba3652df39" width="1920" height="989" data-path="assets/solidgate-create-product.png" />
      </Frame>

      3. Enter the product details, including the currency.

      <Frame>
        <img src="https://mintcdn.com/funnelfox/CYUoIKypSJF6u2w4/assets/solidgate-price-details.png?fit=max&auto=format&n=CYUoIKypSJF6u2w4&q=85&s=24228a4f2bd1e2e697bdd64037588a46" width="1920" height="989" data-path="assets/solidgate-price-details.png" />
      </Frame>

      4. Click **Create product**.

      Repeat for every currency you sell in.
    </Accordion>
  </Tab>

  <Tab title="FunnelFox Billing">
    Create one price per currency on the
    [Products page](https://app.funnelfox.com/products) of your FunnelFox
    dashboard. **Currency** is required on every price, so a product sold in
    three currencies needs three prices.

    Learn about
    [managing products](/docs/dashboard/products).

    <Accordion title="How to create prices in FunnelFox">
      1. Go to the [Products page](https://app.funnelfox.com/products) in
         your FunnelFox dashboard.

      <Frame>
        <img src="https://mintcdn.com/funnelfox/uYQoNpJXjT7uFolB/assets/ff-billing-products.png?fit=max&auto=format&n=uYQoNpJXjT7uFolB&q=85&s=5ca8100d8c2fb9aeb52a468e776263c0" width="1920" height="989" data-path="assets/ff-billing-products.png" />
      </Frame>

      2. Click the product to open it.
      3. In the **Prices** section, click **Add**.

      <Frame>
        <img src="https://mintcdn.com/funnelfox/uYQoNpJXjT7uFolB/assets/ff-billing-add.png?fit=max&auto=format&n=uYQoNpJXjT7uFolB&q=85&s=8af317d4fcf7469b9fac07eccfa1430b" width="1920" height="989" data-path="assets/ff-billing-add.png" />
      </Frame>

      4. Enter the price details, including the **Currency**, then click **Create price**.

      <Frame>
        <img src="https://mintcdn.com/funnelfox/uYQoNpJXjT7uFolB/assets/ff-billing-create-price.png?fit=max&auto=format&n=uYQoNpJXjT7uFolB&q=85&s=4fa2ff6b785d5601ae85083967217bc0" width="1920" height="989" data-path="assets/ff-billing-create-price.png" />
      </Frame>

      Repeat for every currency you sell in. All of the prices stay on the
      same product.
    </Accordion>
  </Tab>
</Tabs>

### 2. Select price in each locale

Repeat these steps for every locale that needs its own currency.

<Steps>
  <Step title="Open the locale">
    Open the funnel in the Editor and switch to the locale using the switcher at the top.

    <Frame>
      <img src="https://mintcdn.com/funnelfox/uYQoNpJXjT7uFolB/assets/locale-switcher.png?fit=max&auto=format&n=uYQoNpJXjT7uFolB&q=85&s=0c6f28923bc3b5788fef8ae963a6fd2b" width="1920" height="989" data-path="assets/locale-switcher.png" />
    </Frame>
  </Step>

  <Step title="Open the Checkout element">
    Select the Checkout element, go to its **Parameters** tab.

    <Frame>
      <img src="https://mintcdn.com/funnelfox/BePd1-Tnm7RjPtfA/assets/pricing-localization-checkout.png?fit=max&auto=format&n=BePd1-Tnm7RjPtfA&q=85&s=eff7908c615fcdbfa3f6235340f67e88" width="1920" height="989" data-path="assets/pricing-localization-checkout.png" />
    </Frame>
  </Step>

  <Step title="Select the price for this locale">
    Select the price you created for this locale's currency.

    Learn about
    [checkout configuration](/docs/elements/checkout#subscription-configuration)
    for each PSP.

    <Frame>
      <img src="https://mintcdn.com/funnelfox/BePd1-Tnm7RjPtfA/assets/pricing-localization-price.png?fit=max&auto=format&n=BePd1-Tnm7RjPtfA&q=85&s=76c0f8e99943d788f64205fc9e40cc72" width="1920" height="989" data-path="assets/pricing-localization-price.png" />
    </Frame>
  </Step>

  <Step title="Repeat for every locale">
    Each locale keeps its own price selection. Locales you skip keep using
    the default locale's price.
  </Step>
</Steps>

<Info>
  If you don't see a price you've just created, reopen the funnel.
</Info>

If your screen has a [Wallet button](/docs/elements/wallet-button), check its
configuration, too.

### 3. Update displayed price

The price your visitor reads on the paywall is text you type. It isn't bound
to the price your Checkout charges, so update it in every locale.

* **Plan picker**: Open the **Parameters** tab of each plan and update
  **Price** and **Old Price**. Learn about
  [configuring plans](/docs/elements/planpicker#2-configure-plans).
* **Price picker**: Update **Price Text** on each price option.
* **Text elements**: Update any amount or currency symbol written into your
  headlines, body copy, and disclaimers.

### 4. Test and publish

<Steps>
  <Step title="Save every locale and publish">
    Save each locale you edited, then publish the funnel. A locale with
    unsaved changes blocks publishing.
  </Step>

  <Step title="Open each locale on the published funnel">
    Add the `ff-locale` parameter to your published URL to check each
    currency without a VPN:

    ```
    https://example.fnlfx.com/paywall?ff-locale=de-DE
    https://example.fnlfx.com/paywall?ff-locale=en-GB
    ```

    Learn about
    [overriding a locale via URL](/docs/editor/localizations#override-locale-via-url).
  </Step>

  <Step title="Check the displayed price against the Checkout">
    Confirm the amount and currency in your Plan picker
    match the amount and currency in the Checkout.
  </Step>

  <Step title="Run a test payment">
    Use your PSP's test cards to confirm the right price is charged:

    * [Testing with Stripe](/docs/integrations/payments/stripe#testing)
    * [Testing with Paddle](/docs/integrations/payments/paddle#testing)
    * [Testing with Solidgate](/docs/integrations/payments/solidgate#testing)
    * [Testing with FunnelFox Billing](/docs/billing/testing)
  </Step>
</Steps>

## Troubleshooting

<AccordionGroup>
  <Accordion title="Visitors see the wrong currency">
    Check your [locale matching rules](/docs/editor/localizations#locale-matching)
    first, since a catch-all locale higher in the list may be winning. Then
    open the locale in the Editor and confirm the Checkout points at the price
    for that currency.
  </Accordion>

  <Accordion title="The displayed price doesn't match the amount charged">
    Plan picker and Price picker show text you type, while the Checkout
    charges the PSP price it points at. Open the locale and align the two.
  </Accordion>
</AccordionGroup>

## Next steps

* [Set up funnel locales](/docs/editor/localizations)
* [Configure the Checkout element](/docs/elements/checkout)
