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

        • Explication sur comment mettre en place des règles d'affichage ou "layout Rules"

          J'ai passé plus d'une heure hier avec le support et je n'ai rien compris !! Je suis lecteur assidu des guides (je "RTFM") qui ne sont absolument pas orienté "client" chez Zoho, et je tiens à le rappeler ici . Dans la documentation on m'indique un cas
        • Dialing Microsoft Teams Phone Service via Zoho CRM

          I am using the VOIP option in Microsoft teams for my office phone system. I was hoping to have a way to dial numbers directly from Zoho CRM, but don't see anything in the Teams Integration or in the Telephony integration that will enable this. Does anyone
        • API (v2) Search Criteria using CONCAT

          With API I can search for a contact using First_Name and Last_Name. However, when I need to search the Contact Module using a full name — and because CRM does not provide an API for full name — I am not finding a way to do this in the traditional way
        • Free user licenses across all Portal user types

          Greetings everyone, We're here with some exciting and extensive changes to the availability of free user licenses in CRM Portals. This update provides users with access to all Portal user types for free to help them diversify their user licenses and explore
        • 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
        • Is possible to use ${webhookTrigger.payload.street==null?"No street":${webhookTrigger.payload.street}} for to detect inline a null parameter

          Hi Team I need to know if it's possible to evaluate inline the following parameter, with the objetive to detect a null value ? I would like to use ${webhookTrigger.payload.street==null?"No street":${webhookTrigger.payload.street}} Regards, Pablo
        • Execution failure when fetching a Name field from another app

          In creator I have one app [Employee Directory] with a form [Employees]. One of the fields is a name field called [Name]. Here is a sample that works, if executed from the Employees app: test_Employee = Employees[Name.first_name == "Alex"]; info test_Employee.Name;
        • Accessing Subform Data using getRecordByID

          I am getting data from Zoho Creator using deluge zoho.creator.getRecordByID task, from another application. The report contains a subform, and that subform is in the detail view of the report. I do not appear to have any subform data in the JSON response,
        • Easy way to delete attachments

          I've reached my data limit and would like to run a view/report, and mass delete attachments. Is there an easy, fast way to do this? Moderation Update: Post Summary: There are two features the post discusses a) Easy way to remove Email attachments Will
        • Limit who can submit a support ticket to your site?

          Does anyone have a use case for needing to limit who can submit tickets via your help portal? Some of our customers want to have end-users view our knowledge base articles and see tickets their IT groups have submitted but they do not want end-users to
        • Schedule a regular backup

          In CRM I have a regular backup setup. I cannot find an option to backup Desk? I would like to take a backup before I test syncing products between CMR and Desk.
        • Zoho Crm - Inventory Integration

          Hello, I need help about Map Fields between CRM and Inventory. For Example, I can't match amount of stock between these 2. I can put opening stock number  in Inventory but I can't see it on CRM. Also I want to see categories and parent categories on Inventory, in CRM too. Best Regards.
        • Allow "add new" option to picklists and multiselection fields from add or edit pages

          Hello zoho, please insert an add option (ie +)sign) to pick and multiselect fields so we can add new options while entering or editing records. For example. in my lead module, while adding a new record, I realized I had a new lead source. I went to my
        • Allow customer to select meeting duration

          I would love to see a feature where I can give the customer the option to select the meeting duration they require based on a dropdown list which I have predefined in the service settings. For example: 15, 30, 45, 60, 90 minutes.
        • Kiosk Studio wrap-up | How our community used kiosks in 2024

          Hello, everyone! Happy new year! The end of 2024 has been busy, and 2025 promises to be bigger and better. As we ring in the new year, let's rewind and look at Kiosk Studio, our no-code customization tool. The past 300 days have seen the CRM community
        • Can you internally tag/categorize posts for campaigns?

          Would love to easily sort through posts by tags or categories (i.e. we have multiple memberships and share studies from each. It would be nice to pull reports in a second for "membership A studies" for a campaign etc.).
        • Zoho and Hostaway webhok integration.

          I want to receive data coming from hostaway webhook and receive it in zoho crm to create or update record in a module based on conditions. The hostaway webhook sends data every time a reservation is created or modified or cancelled. The hostaway sends
        • Allow us to disable the Reopen Ticket button after a ticket is closed

          Disabling the Reopen Ticket will allow us to have more control over the ticket's flow. According to support, this is currently not possible. Please add this to let us, the customers, mold the ticketing system into something that we can use for our business
        • Function 56: Automatically enable the option for customers to pay via bank account

          Hello everyone and welcome back to our series! One of the key features of Zoho Books is its integration with multiple payment gateways, allowing you to receive online payments for your invoices. This ensures faster payments, automates payment tracking
        • Connect multiple Facebook ad accounts to Zoho Social

          Hi there. I'm doing the Facebook Ads and Zoho Social integration to automate the leads that come from Potential Customer campaigns on Facebook to Zoho CRM. I have a company (1 fanpage, 1 brand), but within the business or brand on Facebook, I manage several
        • Custom service report or Zoho forms integration

          Hello, So far the experience with Zoho FSM and the integration with Books has been good, however there are limitations with service reports. As with my business, many organisations send technicians to different types of jobs that call for a different
        • Creation of Path and subpath

          In order to improve the structure of the website for better organization, I would like to consider that when publishing a page, it can be within a section and sub-section. For example, if I have an events option in the menu, I can put past events and
        • Assign task owner using Deluge

          Use Case: Each task is a document development task wherein once the developer has completed the first draft, the next step in the process is for the document to be QA-ed by the project's assigned auditor. Thus, I am currently working out a blueprint where
        • Using AVG in SQL Query

          My current SQL Query is: SELECT "Client Info", avg("Revenue") FROM "Funded Deals" GROUP BY "Client Info" The current table that this is creating: Client Info avg(Revenue) Previous 4175 1st - New 3411 1st - Old 3013 Renew 3069 While this works as I had
        • The Next Chapter for CRM for Everyone: Moving from Early Access to Phased Rollout for Customers

          #CRM25Q1 Hello Everyone, Until now, CRM for Everyone has been available in early access mode exclusively for users who opted to try the new version. We are now transitioning to a phased release, starting with the basic edition. We are thrilled to announce
        • Meta and Facebook data report discrepancy

          I have been currently gathering manually facebook follower data thru meta. In zoho marketing plus the social media reporting only allows for page likes, and so there is a discrepancy with the data. please the difference in files attached. Is there way
        • Links in Instagram

          Hi there, I have been using Later for a while now but keen to come back to Zoho Social as Later doesn't offer tagging of pages on Facebook but they offer something Zoho doesn't. You can add a link to your bio which opens up your profile feed where images
        • Sort By Date - Deluge

          I have the following code, which normally works to sort calls by created time. Every once in a while, it doesn't work and something sneaks through in the wrong order and I can't figure out why. calls = zoho.crm.searchRecords("Calls","(Owner:equals:" +
        • How to Enforce Mandatory Fields (Category/Sub-category) Before Closing a Ticket?

          Hi, I'm currently using Zoho Desk and encountering an issue where agents are able to close tickets without filling out mandatory fields, specifically Category and Sub-category. I’ve already set them both as a mandatory field, but it can still be bypassed
        • If I turn off the Task Prefix & ID in the Portal Configuration section, will it remove the dependencies in my projects?

          Hi all, basically the title, I am new to zoho projects and trying to get my head around some basic principles. Unfortunately I have not found this information via the search option and after deleting yesterday some Phases I had created in the Phases tab,
        • Admin Control for Default Email Templates in Zoho Desk

          Hi Zoho Desk Team, We would like to request a feature enhancement related to default email templates. Currently, agents can select and set their own default email templates when replying to tickets. However, we believe this setting should be managed centrally
        • Enter dates in tasks with just "tue" or "+10" or "5d" ???

          Is there any way to enter due dates in tasks without typing the whole date or making time consuming clicks in the calendar? I don't see anything online in the help or third party videos.
        • Zoho takes too long to load...

          I am based in Europe and in the last couple of weeks, Zoho CRM takes minutes even to load modules. Is there a specific reason this is happening? Is this happening to other people?
        • How can the direct link to a ticket be created from ticket #?

          Our agents will be using ZDesk but we will have to create direct link to tickets in another ERP by providing the Desk Ticket # Is there a way to create the direkt links from the ticket # alone? Do we have to use the API to get the direct links?
        • Modules are continuously loading

          Hi! We are not able to open the task modules, it keeps continuously loading
        • Multiple time zones in zoho projects

          We are working in an international team. We need to set up different time zones in the organizational settings or at least for one project within zoho projects. Any ideas or help? Thx in advance
        • Zoho Desk : Field for 'Layout'

          I have many different layouts on my helpdesks and I want to be able to identify the stats for each one, however I can not find the field in the raw data from the Zoho Desk datasource. I thought it might be in the "Tickets" table but there is nothing.
        • Customize Zoho One Dashboard and URL?

          Hi everyone, Is there a way to customize my Zoho One URL to be different from the default portal URL? The current portal URL is: one.zoho.com/zohoone/[organization] I want to map it to its own standalone domain that we own. eg) domain.com instead of one.zoho.com/zohoone/[organization]
        • Enable Sending Direct Messages to Self in Zoho Cliq

          Hi, I would like to request a feature enhancement for Zoho Cliq to allow users to send direct messages to themselves. Currently, Zoho Cliq does not have the option to send a direct message to oneself. While creating a channel with just one member (the
        • Guidance on Making Zoho Desk Connections Available for All Data Centers

          Hi Team, I’m currently developing an application using Zoho Desk connections to manage OAuth for my third-party products. Could you please advise on the steps required to make it available across all data centers? Looking forward to your thoughts on
        • Next Page