← Notes for operators

HubSpot for vacation rental companies: what to sync from your PMS, and what to leave alone

· 5 min read · Rich Park

Every vacation rental operator we talk to has a CRM. Most of them have two. The PMS holds every reservation and every guest who ever stayed. HubSpot, or Salesforce, or a spreadsheet with a name, holds whoever marketing managed to type in.

They do not agree with each other. They never will, as long as a person is the bridge.

Here is what that costs. A guest who stayed four times gets the "first time with us?" email. A homeowner who enquired in March gets nothing in April, because the enquiry landed in an inbox and the inbox is not a system. The marketing team builds a segment called "repeat guests" by exporting a report and cleaning it in Excel on a Friday, and by the following Friday it is wrong.

The record isn't the relationship. In this business the relationship is in the PMS, and the PMS is not where marketing lives.

The rule: the PMS feeds the CRM, and never the other way

We built HubSpot for a ski operator with a few thousand homes this summer. The design had one rule, and it is the rule we would give anyone.

Reservations, rates and payments stay in the property management system. That is the system of record. HubSpot never writes to it. The PMS does not even need to know HubSpot exists.

Everything HubSpot needs comes the other way, automatically, from a clean copy of the PMS data that we keep current. Every guest's stay history. Every homeowner enquiry. No one types it in. No one exports a report. The CRM is full on the first day and it stays full.

That one rule removes most of the ways CRM projects go wrong. There is no two-way sync to break. There is no argument about which system is right, because one of them is right by definition. And when marketing wants a new field, it is a change to the copy, not a change to the PMS.

What to sync

Less than you think, and more carefully than you think.

People, not bookings. HubSpot is organized around a person. Your PMS is organized around a reservation. The sync has to turn the second into the first: one contact per human being, with their stays attached, not one contact per booking. Get this wrong and a family that has visited five times becomes five strangers.

Two kinds of people. Guests and homeowners are different relationships with different journeys, and they should be different contact types from the first day, with different pipelines. A homeowner who is also a guest is one person with both hats, not two records.

The facts marketing will act on. Last stay, first stay, lifetime stays, lifetime value, home destination, the home they stayed in and the market it sits in. A stage computed from those facts, not typed by a person: first-time, returning, lapsed. Every one of them derived automatically from the PMS copy, every night, so nobody maintains them.

The enquiry, as a deal. A homeowner asking about your management program is a sales process with stages, and it should live in a pipeline where someone owns it and the follow-up is visible. That is the thing HubSpot is actually good at, and the thing the PMS was never built to do.

What to leave alone

Card data. It never enters HubSpot. It should never enter anything you build. Payments stay with the provider and the PMS.

Lock box codes, Wi-Fi keys, door codes. Same. There is no marketing use for them and every copy is a liability.

Rates and availability. HubSpot does not need to know what a home costs on a Tuesday in February. Leave pricing where pricing lives.

Anything you would not want in an email by mistake. The test for every field is simple: if a workflow put this in a message to the wrong person, how bad would it be? If the answer is "bad," it stays in the PMS.

Clean it before you load it

The first thing we do with any CRM, before a single workflow, is deduplicate.

For a real estate coaching company we deduplicated four and a half million client and prospect records so that every agent on their list would be reached once instead of three times. For the ski operator, the same discipline applied to guests and homeowners. One person, one record, one email.

This sounds like housekeeping. It is the whole game. A CRM full of duplicates sends the wrong message to the right person and the right message twice. Every metric it reports is inflated. Every segment is dirty. And a clean load is not a one-time job: bookings arrive from the marketplaces every hour, and every one of them can create a new duplicate. The dedup has to run every night, forever, or the CRM rots back to where it started within a season.

Then, and only then, the automation

Once the CRM is fed from the PMS and kept clean, the interesting work starts, and it is short.

Owner enquiries get an answer in minutes instead of days. Returning guests hear from you before the season, with the destination they actually visit, not the one on the brochure. A guest who has not booked in two years gets one honest note, not a campaign. Every one of these is a HubSpot workflow that takes an afternoon to build once the data underneath it is right.

We have also used AI to draft the first version of personalized outreach inside HubSpot, for the coaching company, so a person reviews and sends rather than writes from scratch. That is useful. It is also last on the list, because a well-written email to a duplicate is still a wasted email.

If you are on Streamline, Guesty or Track

You do not need a different CRM. You need your CRM to be fed from your PMS automatically, one clean record per person, with the PMS left exactly as it is.

That is what we build: the clean, current copy of your operating data, the HubSpot object model and pipelines that read from it, and the nightly hygiene that keeps it honest. Usually in weeks, alongside the website that reads from the same copy.

If your marketing team is still exporting reports to build a segment, we can show you your own guests and homeowners in a HubSpot sandbox, fed from your real data, in a couple of weeks.