Exporters: From Yext to Your Listings

Author: Calvin Casalino, Senior Product Manager
Product: Listings
Blog Date: January 2021

The Yext Knowledge Graph provides extremely flexible methods for storing data. From Custom Fields to Custom Field Types, Scheduled Updates to Multi-Language Profiles, and even Custom Entities, you can store any data in the way that best suits your business. The world of publishers in the Knowledge Network is less flexible, however. Each publisher Yext integrates with has their own schema: a very specific set of fields in an entirely predetermined format that integrating partners must adhere to.

Our Listings delivery pipeline is exceptional at ensuring your data stored in the Knowledge Graph appears on Listings everywhere consumers are asking questions, but adhering to hundreds of different publisher schemas just makes this problem more complex. How do we make sure your data is updated on all publishers as quickly as possible while still ensuring data is formatted properly for each endpoint? Yext's Listings exporters.

Think of Yext's Listings delivery as the Nile; the river we all learned about in geography class. Data flowing from Knowledge Graph passes down the river efficiently as one group. But once the end of the river approaches, water fans out forming a delta. These are the Listings exporters; taking the right data in the right format to each publisher.

Each Listings exporter is maintained by a separate code configuration; we have files for every publisher Yext integrates with including Google, Apple, Facebook, and even Hotfrog! Once data reaches the end of the Listings delivery pipeline, we send a copy of the data we wish to update to each Listings exporter. The exporter then goes to work formatting and mapping each field into something ingestible by its respective publisher.

Let's run through a few examples:

Starting with addresses, Yext stores the street name and number, city, state, region, and country for each location.

Google My Business's PostalAddress object looks like the following:

{
"regionCode": string,
"languageCode": string,
"postalCode": string,
"sortingCode": string,
"administrativeArea": string,
"locality": string,
"sublocality": string,
"addressLines": [
string
]
}

However, Facebook accepts slightly different parameters for address:

{
"country": string,
"city": string,
"city_id": int,
"latitude": string,
"longitude": string,
"locality": string,
"state": string,
"street": string,
"zip": string,
}

While both publishers want a similar set of data, there are slight variations. Google accepts both locality and sublocality fields while Facebook only wants locality and state. Facebook has the concept of a city_id, while Google does not. Google calls postal codes "postalCode" while Facebook refers to this field as "zip". As you can see, these slight differences can add up — and quickly cause confusion. The work done by our engineering teams to map data stored in Yext in a clean, easy to read format into every possible combination our publishers can come up with ensures your Listings are managed without extra effort.

Moving on to a second example, we can see data transformations in effect. The standard Yext format for hours that many of our publishers adhere to consists of a set of Days and Intervals. In Knowledge Graph, you can see days of the week and the open range.

In API format, this is transformed into:

{
"hours": [
"day": "MONDAY",
"intervals": [
"start": "09:00:00",
"end": "17:00:00"
],
"day": "TUESDAY",
"intervals": [
"start": "08:00:00",
"end": "17:00:00"
],
"day": "WEDNESDAY",
"intervals": [
"start": "09:00:00",
"end": "17:00:00"
],
And so on...
]
}

We take the time ranges from Knowledge Graph, split this data into intervals on the 24 hour clock, and format the json object by day of the week — all of this just to send your hours to many of our publishers!

Of course, not all publishers adhere to the standard Yext format, so we must transform hours data in unique ways preferred by the publisher. Take Foursquare: to represent the same data of open 9-5, Monday through Friday, expect for Tuesday opening an hour early, we need to transform data into:

'1,0900,1700;2,0800,1700;3,0900,1700;4,0900,1700;5,0900,1700'

Another publisher, another format.

All of this complexity is mostly hidden behind the scenes. Exporters are constantly working overtime to ensure your Knowledge Graph data appears on Listings everywhere consumers are asking questions. And we are adding new exporters every release! Yext constantly evolves to improve and expand our Knowledge Network. With each incremental publisher we add, a new exporter comes along with it. This constant effort keeps data clean and well formatted all across your digital presence.

All Blog Posts

Determine Location Intent in a Search Engine

Max Shaw, VP Product

One of the most common use cases for a search engine is finding something by a "location". Here are some basic examples: Cardiologist near Green Bay, Notary near me, Restaurants open now. These are all pretty simple queries, but getting these to work in a search engine is much more complex than you might imagine.

The Danger in Document-Level Sentiment Analysis

Calvin Casalino, Senior Product Manager

In order for your feedback to become an actionable item to help businesses provide a better experience, they need a way to analyze the granular content of all of their reviews, at scale.

Deep Dive into Duplicate Suppression

Dee Luo, Product Manager

Brands know the importance of having accurate information across all the apps, maps, and directories where consumers are searching for information. In a perfect world, powering that brand data and managing each of these listings would be enough to ensure that consumers consistently get the answers they're searching for.

GMB API Update - Dedicated Food Menus

Dee Luo, Product Manager

On August 24, 2020, Google launched version 4.7 of its Google My Business (GMB) API. This update includes enhancements to how your restaurant locations can sync and display food menus on Google.

Structuring Your Knowledge Graph

Jessie Yorke, Yext Administrator

In this post we are going to discuss strategy and give you some tools to effectively think about structuring your own brand's Knowledge Graph!

Yext’s Fall ‘20 Release is Now Live!

Nick Oropall, Senior Product Marketing Manager

For those of you who are new to Hitchhikers — Welcome to Yext's new training platform & community! Hitchhikers will be the home for all of Yext's product and release updates moving forward so we encourage you to create a free user and check out the platform!

Meet the Hitchhikers Team: Alyssa Hubbard

Alyssa Hubbard

Alyssa Hubbard began at Yext in the Upward Rotational Program. Now she is full-time on the Hitchhikers team, working to build a platform to empower our community of Yext power users.

WCAG and Search: Developing an Accessible Search Experience

Rose Grant, Associate Product Manager

What’s WCAG? WCAG stands for the Web Content Accessibility Guidelines (WCAG). WCAG is not always black and white; its rules often have a variety of interpretations.

Now Available: Shopify Product Catalog Sync for Yext

Lilly Fast, Senior Business Development Manager

Shoppers have questions about your products, and your ability to answer will determine if they buy or if they bounce. But with rapid changes to your business, it can be hard to keep your product information consistently up-to-date.

Now Available: Yext Product Catalog Sync for Magento Commerce, an Adobe Company

Lilly Fast, Senior Business Development Manager

Shoppers have questions about your products, and your ability to answer will determine if they buy or if they bounce. But with rapid changes to your business, it can be hard to keep your product information consistently up-to-date.

Exporters: From Yext to Your Listings

Calvin Casalino, Senior Product Manager

Our Listings delivery pipeline ensures your data stored in the Knowledge Graph appears on Listings everywhere consumers are asking questions. How do we make sure your data is updated on all publishers as quickly as possible while still ensuring data is formatted properly for each endpoint? Yext’s Listings exporters.

2020: Hitchhikers Year in Review

Liz Frailey, VP Developer & Admin Experience

2020 has been a rollercoaster of a year for everyone for a multitude of reasons. On the Hitchhikers Team, we were able to overcome some of the year's obstacles to really transform the program.

3 Integrations That Can Help You Get More Out of Yext

Jonathan Gitlin, Content Marketing Manager, Workato

As a Yext user, you’re likely well aware of the platform’s product suite and the value each solution delivers. But did you know that you can provide even better search results for visitors, collect more reviews from customers, and analyze data more closely by integrating Yext with the apps and systems your team already uses?

Google’s Latest API Update: More Hours

Teddy Riker, Associate Product Manager

On February 25th, 2021, Google launched version 4.9 of its Google My Business (GMB) API. This update includes support for additional hours types, for options such as delivery, drive through, and more.

Spring ‘21 Release is Now Live!

Nick Oropall, Senior Manager of Platform Product Marketing

Yext's seasonal releases are always packed with new features and functionality to keep Hitchhikers on the cutting edge of search, and the Spring '21 Release is no different. Across the product suite, we have added new features that will help you to drive value and improve your user experience.