Tips for UPS API Integration

I do a lot of shipping integrations for my manufacturing automation customers, and for my customer’s customers. While we always document these tips internally, I thought it would be useful to catalog and share them. Below are some helpful tips we’ve compiled for UPS API integration.

TIP #1: Customer Account Numbers Use the Number Zero, Not the Letter O

Customer account numbers are a series of six letters and digits.  If you have a UPS customer account that contains something circular, it’s always the number zero (“0”) and not the letter “O.” This tip comes directly from UPS API support.

TIP #2: UPS Mail Innovations Doesn’t Support Third Party Billing

UPS Mail Innovations is a unique shipping method that utilizes the local postal service to complete the final leg of your shipment. Unlike other shipping methods, it does not support third-party billing. That is, you cannot use one account to ship the package and bill the package to another UPS account using the BillThirdParty payment option. Mail Innovations shipments must be generated using the BillShipper option. That leads us to our next tip.

TIP #3: BillShipper Requires that you Add the Shipper Account as a Payment Option

To use the BillShipper payment option, you must add the account you’re billing for the shipment as a payment option in the UPS account being used to access the API.  You can do this by logging into the account on ups.com and selecting Payment Options. You’ll need a few pieces of information, including:

  • UPS Account Number
  • Default pick up Zip code
  • Invoice # from most recent account invoice
  • Date of most recent account invoice
  • Payment due amount from the last invoice
  • Control ID of the last invoice

 

Need Help Integrating with UPS?

Having trouble integrating with UPS? Don’t hesitate to contact Reich Web Consulting today.

How to Intregtate a Website with Zillow Using a Zillow Listing Feed

Here at Reich Web Consulting, we’ve got more than a little experience working with real estate clients.  One of the most important factors in helping our customers succeed online is maximizing their visibility both on and off of their website. We must ensure that their rentals and for-sale properties appear correctly in real estate aggregation services like Zillow, Trulia, and Realtor.com, and the best way to do that is with a Zillow Listing Feed.

But integrating with Zillow can be daunting. It’s important to understand how Zillow works and approach your integration with realistic expectations.

This post imparts the knowledge I’ve accumulated through several Zillow integrations and will help you navigate the bumps you may encounter along the way.

Understand What Zillow is (and Isn’t)

I think Zillow did an excellent job of describing themselves:

Zillow is a media site – we display content and sell ads around the content. (Zillow FAQ)

Their goal is not to provide accurate property listings. Zillow aggregates real estate listings from a variety of sources, provides a user-friendly interface to search and review them, and profits by selling ad space around them. Zillow is a service that shows other people’s real estate listings. Zillow is not:

Zillow does not make money from real estate. Zillow makes money by selling ads on web pages that happen to contain real estate listings.

A Zillow search result screenshot with the ad space highlighted.

Zillow’s reason for being isn’t real estate. It’s ad space.

Zillow and other aggregators have an awkward relationship with the real estate industry.  Renters and buyers find the convenience of aggregators useful.  But agents and brokers find aggregators frustrating because they often appropriate their copyrighted material, list their properties without their permission, and often list incorrect or outdated information. Agents assert that  aggregators don’t really seem to care about listing accuracy, because their primary directive is to sell ads, not to provide accurate listings.

But the darned services are so useful that real estate customers just can’t help themselves.

While realtors generally despise aggregators, they’re also well aware that ignoring them is a monumental marketing misstep. Realtors embrace services like Zillow begrudgingly. This is understandable. Aggregators have largely usurped the realtor’s role in the home buying process.

If you’re a realtor, broker, or real estate company with properties to sell or rentals to fill, what’s your best course of action?  Embrace aggregators and take control of your listings. And the best way to do that with Zillow is to build a Zillow Listing Feed.

What is a Zillow Listing Feed?

A Zillow Listing Feed is an XML document that’s specifically coded to provide property listings to Zillow.  A Zillow Listing Feed:

  • Is an XML document that meets the Zillow Feed XML specification
  • Changes dynamically as listings’ details are updated
  • Is periodically downloaded by Zillow and checked for updates
  • Is checked for accuracy and combined with other data sources to build a Zillow listing

Businesses with only a handful of properties may find that managing their listings directly on Zillow meets their needs.  But realtors, brokers, and clients with large sale or rental portfolios will benefit from creating a Zillow Listing Feed.

Your Zillow listing feed should not be a static file: it should should be a dynamic document that changes as the status of your listing change.

A sample Zillow Listing Feed XML document.

A sample Zillow Listing Feed XML document.

How to Build a Zillow Listing Feed

Building a Zillow Listing Feed isn’t a job for a realtor.

Building a Zillow Listing Feed requires knowledge of your property management database which could be FlexMLS, your website’s content management system (such as a real estate plug-in for WordPress), or something else entirely. It also requires knowledge of a web programming language such as PHP that can read your database and translate your properties into the Zillow Feed XML format. This isn’t a process I can describe here, since how is dependent on where you store  your data.

You’ll want to hire a developer with the proper skills. If you don’t have such a developer, we’re kind of experts at this. Give Reich Web Consulting a call for a consultation and quote on your Zillow integration.

Once you’ve built your feed, you’ll submit it to Zillow. And then after that, all of your listings will appear in Zillow exactly as you’ve provided them in the feed. Right?

Not so much.

Zillow is quirky. Continue reading for a deeper understanding of what Zillow will do once it has access to your feed.

Approach Zillow Integration with Realistic Expectations

To the changrin of realtors everywhere, Zillow listing feeds and Zillow listings are rarely a perfect match.

If you decide to integrate with Zillow by building a Zillow Listing Feed you need to approach the project with a good understanding of Zillow’s process and a realistic expectation of how your feed will influence Zillow’s search results.

A Zillow listing with problem points highlighted.

Zillow listings are rarely prefect. Realtors get particularly upset when Zillow decides they’re not the realtor, or when the ZEstimate gives customers an inaccurate idea of the property value.

Zillow Builds Listings From Multiple Sources

Zillow aggregates real estate data from a variety of sources, only one of which is your Zillow Listing Feed.

Zillow’s process for building listings is similar to how Google builds their search index.  Google uses 200 signals to rank your content. Some you can influence directly, and some you can’t. Zillow is similar.  Zillow builds listings from multiple sources including manually entered data, Zillow Listing Feeds, and a variety of third-party data sources such as MLS (Multi-Listing Service) databases.  They verify sources and eventually combine them into the final listing.

How Zillow combines the data sources is not always obvious, accurate, or within your control.

Some data, like Zillow’s ZEstimate numbers, are controlled by complex algorithms and can’t be directly changed through your Zillow Listing Feed, or by updating a property directly on Zillow.

We use proprietary automated valuation models that apply advanced algorithms to analyze our data … to generate each home’s Zestimate. (What is Zestimate?)

Let your realtors know that not every detail of their Zillow listings can be changed and help them understand what can and cannot be influenced by their Zillow Listing Feed. Failing to set this expectation can leave realtors with the mistaken impression that incorrect listing data is always the fault of a broken feed (and the programmer that built it).

Zillow’s Approval Process

Zillow specifies that it can take 4-6 weeks to process and verify your feed.

Please allow a minimum of 4 to 6 weeks before the feed is activated. (Broker Feeds FAQ)

In other words: you’ll submit your feed to Zillow and it’s likely that you won’t see your data reflected in Zillow’s listings for a month or more. Don’t panic.  But do ensure that all agents with properties listed in the feed are aware of the time gap between feed submission and seeing the feed reflected in Zillow. Otherwise you’ll be hearing a lot of complaints that you’re powerless to resolve.

After your feed is verified and your listings appear in Zillow’s search results, your feed will be periodically checked for changes.

Zillow’s Refresh Rate

At one time the Zillow’s FAQ specified that feeds would be checked for updates every 24 hours. But that information is now conspicuously absent.

Zillow specifies that feeds must be updated at least every 24 hours in order to be accepted, which seems to indicate that they plan to check it for updates on a daily basis.

Since Zillow doesn’t explicitly state how often they’ll download your feed, I decided to see for myself how often my client’s feeds were being updated.

I downloaded the raw access logs for their website and filtered the records to display only requests for the feed URL, and only those accessed by a user agent called HotPadsFeedFetcher, the name of Zillow’s feed crawler.  On this particular client the feed was being accessed at least once every day by Zillow and often twice. Good news indeed.

But regardless of the results that I see in my server logs, experience tells me you should not expect Zillow to reflect the changes in your feeds very quickly. Here’s a post on Zillow’s community bulletin board that shows the confusion around Zillow’s update schedule. The consensus seems to be that there is no consensus.

I’ve seen Zillow take days to update listings based on my feeds.  I’ve also seen it ignore some feed updates completely.  We’ll talk about what to do when that happens momentarily.

Do Certain Data Sources Get Preferential Treatment?

According to Zillow’s Listing Feed FAQ, manual property listings will override data submitted in your Zillow Listing Feed.

No active listing data that is manually created and maintained will be accepted in a feed format. (Broker Feeds FAQ)

What this seems to indicate is that Zillow won’t accept feed data for properties that have been manually created by a realtor. Beyond that Zillow doesn’t seem to provide any guidance as to whether one data source is trusted more than another.  Experience indicates that it’s a case-by-case situation.

Can Realtors Manually Update Properties in the Feed Through Zillow?

Yes and no. Properties in a Zillow Listing Feed can and should specify the name and email address of the realtor listing the property. Once the feed data has been accepted, that realtor can log into Zillow using the email address specified in the feed and manually edit property details.

But unless listings are updated in your feed, they’ll revert back the next time Zillow downloads it. If you’re going to use a Listing Feed, consider it the primary source for your listings and have your realtors avoid making manual changes that they’re not also making in the feed’s data source.

If a realtor is antsy to change a Zillow listing they can manually adjust it by logging into Zillow.  But make sure the same change is made in the feed’s data source too. A listing from a feed with have manual updates overwritten when the feed refreshes.

My Feed is Right but my Zillow Listing is Wrong. How Can I Fix it?

You’ve paid a programmer to build your Zillow Listing Feed. You’ve submitted the feed to Zillow, and waited the 4-6 weeks indicated by Zillow’s FAQ. Your listings still aren’t showing up. Or they’re showing up with incorrect data. What do you do?

The first question to ask: is your feed technically sound?

An error in the XML feed format can throw off your listings pretty easily, and support should be able to tell you if your feed is wrong. Run your feed through an XML Validator to make sure it’s proper XML. If the feed passes XML validation, the next step is to make sure that it conforms to the Zillow’s feed specfication. Unfortunately Zillow only provides the spec in PDF format. They don’t provide a validator tool or even a Document Type Definition you could use to validate your feed. So open up your feed in a text editor.  Compare the structure, the tag names, and the tag content to what Zillow expects to see in the feed.  Some common errors are:

  • misspelled or improperly-cased tags (for example, <Prince> instead of <Price>, <listings> instead of <Listings>)
  • incorrectly nested tags (for example, putting <UtilitiesIncluded> inside <Listing> instead of inside <RentalDetails>)
  • specifying incorrect values for tags (for example, using true or false instead of Yes or No for Yes/No tags like <Water>)

Do your best to verify the XML before you submit your listing so technical details don’t prevent your listings from displaying beyond the default 4-6 week period.

My Feed is Technically Accurate But My Listings Stil Aren’t Updating/Are Wrong. What Now?

Get friendly with listingsupport@zillow.com.  

Getting support can be troublesome. Zillow isn’t in the accurate property listings business. They’re in the ad space business.  So at times it seems intentional that they don’t respond promptly to emails or provide a support phone number (though you can sometimes find it if you dig hard enough). That may be true.

So once someone responds back, get a name and direct contact information for that individual, and a phone number if possible, and do your best to make them the point person for your feed. During my first Zillow integration it was incredibly difficult to contact support. But once I did I worked with a woman named Rachel, who over time was able to answer our questions and solve our problems. Shout out to Rachel! I’m not sure if she’s still at Zillow, but at a company who had a poor customer service culture, she was a beacon of light.

Even after you fix any technical glitches you’ll still find that listings have old and inaccurate data.  I’ve made dozens of calls and emails to Zillow to resolve these problems only to be told our feed is correct, it just takes time to verify and update the information.

So How Close is Close Enough?

It’s up to you to decide how correct your listings need to be.  I have some customers that are happy with the instant boost they receive from simply submitting to Zillow. I have other customers that demand perfection in their Zillow listings. Working with support to fix listing data is time-consuming.  If my code causes a listing mistake I fix my code for free. I always charge for my time when Zillow is at fault for listing errors.  It’s then up to the client to decide if it’s worth that expense to resolve.

A Tale of Two Feeds

I’d like to part with a story of two Zillow Listing Feed integrations. One was a huge success. The other was a slow, frustrating, loss for all involved.

My First Zillow Integration

A sales team spearheaded my first Zillow integration. Unfortunately they lacked the information necessary to set client expectations before the integration began.

The project turned into a tumultuous relationship between my employer, the brokerage, their realtors, and Zillow.  The brokerage hired us to redesign their website. As part of the redesign, my agency had agreed to build out the brokerage’s Zillow feed based on the listing data stored in the website.  The sales team didn’t understand Zillow’s 4-6 week time gap, their approval process, or how they build their listings. So through an error of omission, the sales team set expectations the web development team were powerless to meet.

What followed were several difficult months. The client had daily complaints from their realtors about incorrect Zillow listings. They responded with complaints to our sales team. The sales team did the only thing they knew to do, which was to make the development team investigate errors that weren’t errors at all, but a gap in the time it takes Zillow to refresh a feed, verify data, and update their listings. You can waste hours of time waiting for Zillow to say “it’s you. It’s me.”

The realtors lost faith in their brokerage. The brokerage lost faith in us. And we lost faith in Zillow. All because the integration began with unrealistic expectations.

A Recent Zillow Integration

My most recent Zillow integration was the opposite experience.  The client was new to Zillow, but I sold them on its value based on past experience.  I explained the issues with verification time, Zillow’s process, and listing accuracy prior to approval. My client approved the project will an understanding of the results they could expect.

The end results?  I’ve never had to follow-up with this client about incorrect listings.  They’re happy with the exposure that Zillow provided, and that the metaphorical No Vacancy sign still shines bright.

These two projects were technically very similar. But setting expectations made all the difference in the success of the project and the happiness of the client.

Summary

As you can see, integrating your real estate or rental website with Zillow can be a frustrating task.  But it doesn’t have to be.  Follow the suggestions that I’ve provided.  Ensure that your feed is technically correct before submitting it to Zillow.  Be patient. Don’t expect perfection from every Zillow listing.  And by all means, approach the project with appropriate expectations.  Start your Zillow integration with realistic expectations. Understand that a properly-built feed will offer your listings to millions of visitors through Zillow, Trulia, and Yahoo! Real Estate, but Zillow’s process may prevent the details from ever reaching perfection.