Tips and Tricks #22: How to localize your product prices in Zoho Subscriptions

Tips and Tricks #22: How to localize your product prices in Zoho Subscriptions

Adjusting your products’ pricing based on where your customers are located can help in providing a tailored check-out experience for your customers.

The first step in achieving this is to display your products’ price in your customer's local currency. You can do this easily using Zoho Subscription's automatic exchange rate feeds and API hosted payment pages, that is, the price that you've set for a product will be shown to your customers in their local currency with the latest exchange rates.

However, to truly localize your prices, you will want to set country-specific rates for your products. That's what we will look into in this week's post. 


This post is part of a series of tips and tricks for Zoho Subscriptions. Go ahead and check out our previous post about using custom schedulers, in case you missed it.


How will this help your business?

Having country-specific rates for your products can help you win over more customers by appealing to their price sensitivity, since every country has its own purchasing power. You can even price your products a little higher in some countries depending on the demand and market saturation of your product.
Pricing is a delicate game, but if done correctly, it can lead to a substantial increase in your revenue.

A few points to note about setting the right prices for your product:
 
  • Understanding the local market condition is critical. If possible, try to perform localized pricing studies to know how much a potential customer is willing to pay for your product.
  • It's always a good idea to take your competitor's pricing into consideration before deciding your own product prices.
  • Ensure that your country-specific prices are displayed on your website and on any other medium where you showcase product prices to your customers. 
How does it work?

We'll use our powerful Pricebooks API to handle this. It lets you set different plan prices for every currency and applies them when a customer with any of these currencies buys a subscription. 
Note: The country-specific prices which you set for your plans will be applied only on API Hosted Payment Pages. Also, they will not be visible within Zoho Subscriptions' web or mobile apps and are API-only, i.e. they will not be applicable for non-API hosted payment pages, for now at least.

How do you set it up?

Prerequisite: A REST API client, such as Postman, to make and receive API calls.

Once you've decided your country-specific prices, it's time to start creating Pricebooks.

A Pricebook will contain information about a plan's pricing for a particular currency. Pricebooks can contain only one currency. For example, if your base currency is USD and if you sell in both Australia (AUD) and Canada (CAD), you'll have to create two separate Pricebooks for each currency.

Note: The domain (".com") of the API endpoints mentioned in the section may have to be changed, depending on which data center you're accessing Zoho Subscriptions from. Learn more.

You can specify the currency of a Pricebook using the currency's ID. To obtain a list of all currency IDs in your Zoho Subscriptions organization, make a GET call to the following API endpoint:


Next, you will have to create the Pricebook. Here's how: 

JSON body for this request:
  1.  {
  2.    "name":"PB 1",
  3.    "description":"Pricebook 1",
  4.    "currency_id":"{{currency_id}}",
  5.    "type":2
  6.  } 
Replace the highlighted parts with your actual values in the JSON body. The "type":2 key-value pair should remain the same for every Pricebook that you create.

You'll receive a Pricebook ID in response to this POST call. Copy this ID to your clipboard, as you'll need it for the next step.

Now, your Pricebook has been created with the currency and all that's left is to fill it up with your plans and their prices. You can do this by downloading this sample CSV file and replacing the dummy values for the Plan Code, Pricebook Name and Price with the actual values from your organization. Once you've made these changes to the CSV file, update it in your Pricebook. To do this, import the file into your REST API client and make a POST call to the following endpoint:

https://subscriptions.zoho.com/api/v1/import/uploadfile

Refer this image while uploading the CSV file from your API client

You'll receive an Import ID in the response of this call, which you'll need later. 

The last step to import your CSV file requires a PUT request to the following endpoint:


Note: Replace the highlighted part of this endpoint with the Import ID from the previous step.

You're all set! Your Pricebook has been configured and you can now use it generate hosted payment pages via the API by passing the pricebook_id node in the JSON. You can also pass this node while creating a customer via API. For such customers, Pricebooks will be applied on API-based hosted payment pages without needing to pass the pricebook_id node.

Note: If you want to change the prices in a Pricebook, you need to create a new Pricebook with the updated prices and use the new Pricebook's ID.

We've taken this a step further to make this whole process easier for you by creating a Postman Collection with all the API calls mentioned above. With this, all you have to do is configure Postman for Zoho Subscriptions and import the CSV file as mentioned above.

Try it out and let us know how this helped your business. Feel free to write to us at support@zohosubscriptions.com or simply leave a comment below if you need any help in regard to this tip.

Cheers,
Varun Steven
The Zoho Subscriptions Team


      • Sticky Posts

      • Tip #4 : Refer and Earn Workflow system for your Subscription Business

        Hello everyone, We've been coming up with a tip every week to address specific business scenarios which can be implemented for your business. In continuation to the previous post, this week we will be seeing about how you can implement the Refer and Earn Workflow system to acquire more customers. Why are Referrals important? Customer Acquisition is crucial for any business to sustain itself in a constantly evolving market. It involves persuading new consumers to purchase your products. Customers
      • Tip #2 - Cancellation of Offline Subscriptions based on the Expected Payment Date

        Hello everyone, As you all know, we are coming up with a custom function workflow every week to address specific business scenarios. In continuation of this previous blog, this week we will be seeing about Cancellation of Offline Subscriptions based on the Expected Payment Date. Business Scenario: In general, for any business, the customers make payments via online as well as offline. In case of subscription where the automatic collection of charge is enabled (aka online subscription), the customer's
      • Tip #3 : Send SMS Reminders for your Subscription Business

        Hello everyone, As you all know, we are coming up with a tip every week to address specific business scenarios. In continuation to the previous blog, this week we will be seeing how you can use SMS reminders for your Subscription Business. Using SMS messages for your Subscription Business: While managing your subscription business, more often than not, you need to keep your customers informed about upcoming renewals, payment reminders and cancellations. By keeping them informed in advance, you can
      • Tips And Tricks - Announcement

        Hello everyone, Every business is unique and each of them follows a specific workflow. While managing your customers' subscriptions with Zoho, you might have some needs unique to your business. Custom Functions helps you address such needs. This is a start to a series of posts, where we will be coming up with a custom function workflow every week that addresses specific business scenarios. Watch this space for further updates! Also, if you have any specific business scenario which needs to be addressed,
      • Tip #6 : Accessing external URLs from Zoho Subscriptions

        Hello everyone, We have been sharing a tip every week to address specific business scenarios which you can implement for your subscription business. Last week, we shared a tip about implementing the Approval Workflow system. This week, let's look at how you can access external URLs with the help of Custom Link. Business Scenario: Every business functions differently and has its unique requirements. At times, businesses might want to access other websites or applications by appending specific information

        • Recent Topics

        • Error AS101 when adding new email alias

          Hi, I am trying to add apple@(mydomain).com The error AS101 is shown while I try to add the alias.
        • Global Sets for Multi-Select pick lists

          When is this feature coming to Zoho CRM? It would be very useful now we have got used to having it for the normal pick lists.
        • What's New - January 2025 | Zoho Backstage

          Hi there! As we step into a brand-new year, we’re thrilled to bring you some exciting updates to make event management more enjoyable and efficient. Here’s what we rolled out in January to kick off 2025: Backstage 2.0 now enforced for all users We've
        • How do you do ticket add ons in Backstage?

          Hi Everyone, If you wanted to have general admin tickets and allow for add ons, like camping, or car or Carbon offset. What would you do? Peace Robin
        • Re-create auth token

          I need to re-create a self-client auth token, with the same scopes (and additional ones) as the current token. Is there a way to view the scopes assigned to the current token to ensure that no scopes are missing when creating the new one?
        • Writing on sketch cards is bugged when zoomed in

          When zoomed in, it writes a noticeable distance above or to the side of where you're actually trying to write. The further you're zoomed in, the more noticeable it is. Zooming is also entirely absent on the desktop version.
        • Doesn't let me test my newsletter.

          Hello, I click "Preview and Test". I select the email address to send the test (usually my own email). I send the test email, appears the message "Your test email has been sent", but nothing happens. I mean, there is nothing in my inbox. I also tried
        • Custom Related List anchor tag with tel protocol

          The following code worked great for about a year to create clickable tel and mailto links in a related list in the Deals module. Just this morning, it started displaying the HTML as text. For example: <a href='tel:8882490100'>8882490100</a> Zoho support
        • Waiting Room

          Is there any plans to implement a Virtual Waiting Room for Attendees on Meetings and or Webinars?
        • My workflows not working

          Hi I have created my first workflow I want it so when a customer responds to a ticket that the status is changed to "reopened" We want this so its clear there is a ticket to deal with again. We only have 2 agents responding to tickets and do not have
        • reset of user password

          User forgot her password, so she requests a password rest, but never gets the email. How do I reset her password, since that function is not an option, even for an administrator?
        • In what case it's better to use Developer Console? Only for marketplace?

          As I can see from the documentation, the limitations are challenging. No Custom API No Page Variables No Custom Connections.
        • commision tracker

          I am after a zoho developer to finish my commission tracker as I hired someone on oDesk that started but now will respond to my emails.I really need to get It finished as it is holding up my plans Thanks Budget : $500 | Duration : a.s.a.p To leave a private message, please click the link for private response in post Action section.
        • Generate a Zoho Sign link

          From time to time I get a response "I never received your you e-document for electronic signature" is there a way to generate a Zoho Sign link to share.
        • Error 403: Forbidden When Updating Email Signature via API

          Hi Zoho Desk team, First, congratulations again on the excellent Zoho API. But, I’m encountering an issue while attempting to update an email signature via the API. Whenever I make a request to update the signature, the response returns an HTTP 403 Forbidden
        • Queues Management ?

          I need to assign the new requirements equally between my support agents. How I can configure this feature in Zoho? Thanks
        • Client Can't View Ticket

          Hi, I created a ticket for my Client since he had an issue. I added him as a Contact as well. My client got a notification in his email that the ticket has been created. When he went to view the ticket on his desktop, the screen was blank. He then viewed
        • Automating Custom Web Link Messages to Customers via Instant Messaging in Zoho Desk

          Hello, I am looking for assistance with Zoho Desk's Instant Messaging feature. Is there a way to automate the sending of a custom web link to customers every day at 6:30 PM? Any guidance or suggestions on how to achieve this would be greatly appreciated.
        • How do you apply field validation to a date field?

          We are using Sign for remote e-signature of liability waivers. The signer must enter a date of birth, and if they are a minor their legal guardian must sign for them. However we have had numerous problems with signers returning an invalid date of birth
        • Implement Regex in Layout and Validation rules

          Hello all, We are excited to announce that users can now implement Regular Expressions (Regex) in our layout and validation rules. This new functionality allows for more flexible rules to be created when designing and validating forms. What is Regex?
        • Zoho Desk Validation Rule Using Custom Function

          Hi all, I tried to find the way to validate fields using custom function just like in Zoho CRM but to no avail. Is there a way to do this?
        • Editing landing page after signup for a webinar

          Hi, how can I edit the landing page after signing up for a webinar. I personalized the email "registration confirmation", which is working fine. Nevertheless after submitting the form, the participant gets redirected to a page, which looks like the standard
        • Kiosk GetRecords can't compare formulas

          (submitted as a help request by accident - should have been a topic) Scenario: I have an "email domain" formula whose value is "@xyz.com" if the e-mail address is brent@xyz.com . I have the same field in Leads and Contacts. So, theoretically, I should
        • Kiosk can't merge picklist or multiselect

          There is no ability to load a multiselect or picklikst field into a kiosk with the values that have been previously selected. So, I essentially have 3 unacceptable options: 1.)Load the value into a text string and include instructions like this: "Picklist
        • Fillable template with dynamic tables?

          Is there a way to build a fillable template so that users can add rows to a table? To describe what I'm trying to accomplish the table has 3 sections; a header row, some number of rows with custom information, and a summary row with totals. I can't figure
        • Tip of the Week - Timeline User Filter for Dashboard

          Does the Date User Filter in your Dashboard leave out a few reports from filtering? This happens when the reports are not created over the same table and the (time) column over which the user filter is created.   To solve this, Zoho Reports has a Timeline User Filter. This filter applies the criteria on all reports, matching it with the best possible date column associated with a report. i.e., if your reports are based on a date column, then it will filter it for that data column.  To know more on
        • Zoho Forms Webhooks - Only sends on submission not on edit.

          Hi There, We have a slightly unique use case for Zoho Forms. We used Zoho Forms for the collection of Guest Lists. When a customer submits their guest list they get an email confirmation. Within this is a link for them to update their guest list before
        • Add Knowledge Base KB Articles to multiple categories

          Greetings,  Love you help center system.  One item that would be incredibly helpful to many of us would be able to add a single Knowledge Base KB article to multiple categories in our system.  It seems it could be quite easy to use a checkbox form, instead
        • What does "Tickets for Review" do?

          What is the purpose of the va nilla view " Tickets for Review?"
        • Report of Leads/Accounts/Deals with no open activities

          How can we replicate the option in filter to only show Leads/Accounts/Deals with no open activities ? The option is present in the filters (please find screenshot) but I am unable to find them in the report. Thanks
        • Cannot set Subform Multiline field to read-only using Client Script

          I am using client script to set different subform fields as read-only It works for Single Line Fields, but when I try to set a Multiline field as Read-only it doesn't work var subform = ZDK.Page.getSubform("Subform_1"); var item_Code_old = subform.getField('Item_Code_Old').setReadOnly(true);
        • Changing Color Theme of Guided Conversations

          Hello, We have recently added Guided Conversations to one of our websites, but I am wondering if there is a way to customize the color scheme so it matches the appearance of the website? Thank you in advance!
        • Lost the ability to sort by ticket owner

          Hi all, in the last week or so, we have lost the ability to sort tickets by Ticket Owner. Unlike the other columns which we can hover over and click on to sort, Ticket Owner is no longer clickable. Is it just us, or are other customers seeing this too?
        • Can't login to Zoho mail

          I'm logged into Zoho but when I try to go in zoho mail I get: Invalid request! The input passed is invalid or the URL is invoked without valid parameters. Please check your input and try again. I just set up my mx records and stuff with namecheap a few
        • Social Media Simplified with Zoho Social: Bridge sales and social media marketing

          Social media marketing has become the go-to strategy for most businesses who are trying to boost awareness of their product/service, create a brand image in the minds of their audience, increase website traffic and engagement, and generate leads. Posting
        • This domain is not allowed to add. Please contact support-as@zohocorp.com for further details

          I am trying to setup the free version of Zoho Mail. When I tried to add my domain, theselfreunion.com I got the error message that is the subject of this Topic. I've read your other community forum topics, and this is NOT a free domain. So what is the
        • Work Orders / Bundle Requests

          Zoho Inventory needs a work order / bundle request system. This record would be analogous to a purchase order in the purchasing workflow or a sales order in the sales cycle. It would be non-journaling, but it would reserve the appropriate inventory of
        • Create Quote does not show the "Product Description" entered as part of the Product setup.

          The product description created as part of the product setup page, does not show in the Create Quote module; The module allows for an additional description to be added but without access to the original stored description. By selecting the product from the "Product Name Lookup" pop-up, the "Product Description" part should be populated from the product record where the user is allowed to further modify it.
        • Allow Itemization for Recurring Expenses

          For whatever reason, one cannot itemize a Recurring Expense. This capability should be added. The use cases to support this is largely the same as what they were to allow for itemization in Expenses. Anything that would need to be itemized for a regular
        • Feature Request – Auto-Save Draft for Interview Assessments

          Hello Zoho Recruit Team, I’d like to suggest a feature that would be incredibly helpful for recruiters conducting multiple interviews. Currently, when filling out an Interview Assessment, there is no option to auto-save progress as a draft. At times,
        • Next Page