How To Use Schemas To Upgrade Your Customer Experience

Written by on November 24, 2014

Customer experience no longer begins when users land on your mobile app or your web page. It begins when Google displays a bunch of links and direct answers even as users are typing in questions into the humble search box. Forcing users to sift through Google search results to find the website they think they want that might have the information they are looking for is passe. Giving customers the answers they want even before they land on your web page is good customer experience.

Thankfully, Google gives you a way to do just that – with a standard called Schema.

Schema standards allow anyone with a website to let search engines know about their business, products (and even get granular about their customer support numbers) so that the information can be quickly presented when users search for anything relevant. For example, you can markup the customer support hotline listed on your website and the next time someone Googles it, the number will appear as a card on top of all search results.

The best part is, anyone with even basic knowledge of HTML can set up schema. Here are some examples of Schema being used to enable search engines to provide the right support numbers, product details, ratings and sometimes even detailed answers for a wide range of questions, almost magically:

Schema structured data showing up in search results

So, how do you do this? All you need to do is add some code markup into your website or your self-service portal. If you’re using Freshdesk, you can go to Admin > Helpdesk Rebranding > Customize Portal to edit the HTML code of a standard solution article page and define the little things you have in there so search engines can understand them better.

Before we begin, there are a bunch of things that you need to keep in mind:

  • The pages that have schema should not be blocked by robots.txt. They should be completely visible to the Google crawler.
  • To let Google know about your business’ different locations, you should have unique pages for each of the locations.
  • The actual information you’re encoding in the schema shouldn’t be hidden from the website to a visitor.

Read the schema specifications carefully before you begin implementing them in your support portal or your website.

Make your customer service number easily findable

People still like getting in touch over the phone when they have some serious problems with your product or service. The quicker you can help them find your number, the less frustrated they will be. And the way you do that is by leveraging the ContactPoint schema. Doing this would mean your customer service number might pop up when they’re searching for it frantically.

Customer support hotlines showing up in search results currently allows you to differentiate multiple phone numbers, including dedicated lines for customer service, technical support, reservations, package tracking and the like. You can also mention if each of these numbers is toll-free, or regional.

Here’s an example:

<script type="application/ld+json">
{ "@context" : "",
"@type" : "Organization",
"url" : "",
"contactPoint" : [
{ "@type" : "ContactPoint",
"telephone" : "+1-866-832-3090",
"contactType" : "customer service",
"contactOption" : "TollFree",
"areaServed" : "US"
} , {
"@type" : "ContactPoint",
"telephone" : "+44-800-808-5790",
"contactType" : "customer service",
"areaServed" : "UK"
} ] }

Do not ever mess up the attribute names. Also make sure to specify your organization’s name and department with the URL and contactType properties.

The best part is, if you have different support hotlines for different countries, you can use areaServed to list down the abbreviations for each country you have a support number in. With telephone, you can encode the number itself. Have a toll-free number? The contactOption property number has you covered (set it to TollFree).

You can also put in a lot more details if you want: like the hours when your support is available, and even the products supported. There’s no guarantee that this will show up if someone Googles you, but you never know. Google is pushing out updates to improve search rapidly so this will probably come in handy some day.

Help consumers find open times and menus without ever having to visit your website

If you have shops spread across multiple locations, you know well the hassle of letting consumers know about opening hours, restaurant menus, multiple chains, their addresses, and more. While Google says it can pick up menu information, etc. as long as you have simple HTML tables on your web pages representing those, it’s not a bad idea to add some schema and explicitly divulge information about your local store, or a lonely restaurant in the countryside.

Philz Coffee details showing up in search results

LocalBusiness comes to the rescue here: you can use the Restaurant specification to list what you serve as just text in the ‘menu’ property or specify a URL. Or OpeningHours, for that matter. When you’re specifying hours, Google recommends you explicitly mention the days in usual conventions (Mo, Mon or Monday) and not use terms like ‘from the morning’, ‘till close’ or ‘till dusk’. The clearer you are about this, the easier it becomes for Google to present such information to consumers.

<script type="application/ld+json">
"@context": "",
"@type": "Restaurant",
"name": "Philz Coffee",
"description": "",
"openingHours": "Mo,Tu,We,Th,Fr,Sa,Su 06:00-20:30",
"@type": "OpeningHoursSpecification",
"validFrom": "2014-11-15",
"validThrough": "2014-11-30",
"opens": "09:00",
"closes": "14:00"
"telephone": "+1-415-875-9370",
"@type": "PostalAddress",
"streetAddress": “3101 24th St",
"addressLocality": "Folsom St in Mission",
"addressRegion": "CA",
"addressCountry": "US"
}, "menu": "”

If you have multiple departments, you can use the department property and segregate the opening hours for each of these departments or establishments. Google has also made it easy for you to add information about pharmacies, government offices, libraries, animal shelters – by giving you a unique set of properties that can go with different kinds of brick and mortar organizations.

Empower potential customers with product information proactively

If you’re an eCommerce store, chances are you have hundreds of product listings and tons of data to go along with each of them. Buyers are smart, and they wouldn’t swipe their cards with you unless you provide them enough product details and customer reviews. With the Product schema, you can enclose a bunch of information about things you have on sale: product names, description, average customers rating, the price and lots more.

The only catch: these products should be available online for customers to buy. And if you allow third party sellers on your store, you can use the Offer-aggregate property to specify who’s offering the lowest and highest prices and the number of sellers offering the item.

Here’s a search where Google provides rich product snippets in results:

Google showing product related information


Screenshot: The Official Google blog.

Show some social proof by getting Google to display customer reviews

Let your customers to do the talking for you. Google lets you sync reviews along with the ratings and information about the reviewer so they’ll show up as rich snippets for relevant searches.

Google likes it best when you have clear, dedicated pages for every individual product. You might have seen such review snippets show up for local business, food or software searches, like this one:

Product reviews showing up in Google search result snippets

Doing the same thing for reviews on your site is pretty easy: all you have to do is dig up your existing website code and add the Review schema. There’s provision to sync ratings from customers, the text of the review and information about the corresponding item in the schema. From books to movies, to games to other software products, you can use this for pretty much anything where your customers have opinions to share (which is basically on everything you’re selling).

Setting up schemas the easy way

All of this could be daunting if you’re technically challenged, but there are a dime a dozen tools to help you in the process. While some of these tools allow you to set up schema without you having to learn and remember code, others help you test the schema you may have implemented on your website, giving you a preview of how search engines would see the information you’ve schemified on your website.

  • Google’s Structured Data Testing Tool lets you test if your schemas are in place, when you copy paste your HTML code right in.
  • Corporate Contacts Tester allows you to preview contact information that you may have embedded in your page so you know if you’ve done it right.
  • Google Data Highlighter – if your website is linked to Google Webmaster Tools, you can use the highlighter to mark structured data on your pages and skip writing code
  • The Schema Creator Plugin for WordPress allows you to add schema to posts you write on your blog – the plugin gives you options to add information about books and movies you’re reviewing, and lots more.

With Google building services and technology to get consumers the answers they want directly, it is important to communicate details about your business that the search engine can understand to answer questions coming in, within seconds. Using schema specifications will help you get your customers the help they need more easily and painlessly.

Subscribe for blog updates

  • Gavin Sutherland

    Good article Shankar. What do you reckon about applying contactPoint to restaurant schema ? Can this only be applied to Organization schema? Looking for a way to markup potentially 100’s of individual restaurant branches of a big chain and try and leverage each individual restuarants number as rich snippets.