[Closed] CMS Hub Starter Ask Me Anything (August 16)

HubSpot Community,

My name is Patrick, I’m a member of our onboarding team here at HubSpot. Welcome to our 3rd CMS Hub AMA! We loved answering all your questions in the last AMA and with the recent launch of CMS Hub Starter, we wanted to provide a place where you can dig into the intricacies of this new product! We’ll be available to answer questions from August 16 - 21, so please feel free to ask us anything about CMS Hub Starter.

Not sure where to start? Feel free to take some of these:
Can I code custom templates with CMS Hub Starter?
How many website pages and blogs can I build with CMS Starter?
What’s the main difference between CMS Starter and Pro?
Does CMS Starter still include SSL?
Can my developers still use the CLI with CMS Starter?

We have members of the HubSpot product, developer, and services team here to answer any questions you might have.\ 

Luke Summerfield (@Lukesummerfield) - CMS Hub Go-To-Market Lead, Product
Lukas Pleva (@lpleva) - CMS Hub Senior Product Manager
Alex Girard (@agirard) - CMS Hub Senior Product Marketing Manager
Jon McLaren (@jmclaren) - Senior CMS Developer Advocate
A.J. LaPorte (@AJLaPorte) - Senior CMS Developer Advocate
Allison Nichols (@anichols) - Principal Onboarding Specialist
Patrick Eng (@PatrickEng) - Customer Onboarding Specialist
Ernestina Spinu (@eSpinu) - Replatforming Specialist
Camila Rovalino - Content Product Expert
Cathal Hopper (@CathalHopper) - Senior Customer Support Specialist
Kaitlyn Nadeau - Replatforming Specialist

Feel free to drop in your questions below. We’ll start answering questions at 11 AM EDT on August 16th Eastern, until 3 PM Eastern on August 21st.

We can’t wait to see what you all have to say!

Who is a good fit for CMS Starter? Who is not?

Great question , @GeorgeBThomas. I think CMS Hub Starter is perfect for anyone who wants to start leveraging their website alongside HubSpot’s CRM Platform to grow their business. If you’re a growing business, who wants that ease of use of one tool that includes forms, live chat, reporting, and the CRM to track it all, CMS Hub Starter is for you. These folks might just have small marketing teams and one developer on their team (or they work with external dev resources). As your company grows, your needs become more nuanced, and you need things like smart content, dynamic content, and A/B testing, you can upgrade to Professional.

It’s also worth noting that many businesses who leverage CMS Hub Starter might want to just quickly build out a small microsite that is separate from their corporate website for something like a new product line, or an educational center. For these use cases (and there are many) CMS Hub Starter is a great fit for any business who wants to move quickly with their web development, without being held back by a legacy system.

What is the “need to know limitations” or reasons for upgrading to CMS pro or CMS enterprise?

For CMS Hub Starter some key limits to keep in mind are…

  • 15 Website pages limit
  • Free landing pages functionality
  • You can only have one blog, with as many blog posts on it as youd like.
  • You can only have one subdomain on CMS Hub Starter.

If someone upgraded to Professional, they’d get access to more premium features including…

  • Smart Content
  • Dynamic content functionality (incuding HubDB and CRM Object dynamic pages)
  • Password Protected Pages
  • Content Strategy & SEO Recommendations Home
  • A/B testing
  • Custom Report Builder
  • Contact Attribution Report Builder

And then if they wanted to go all the way to Enterprise, they’d have access to everything CMS Hub has to offer, including features like…

  • Memberships
  • Custom Objects
  • Web applications leveraging serverless functions (calculators, event registration systems, etc.)
  • Content Partitioning & User/Team Permissions
  • Activity Logging
  • Additional Root Domains (Enterprise customers now get up to 10 domains out of the box, and can purchase more for $100 if they’d like)

I hope this is the right place to ask a question: I want to import contacts from a spreadsheet where each contact has multiple rows; can this be done? The first row includes name, email, phone etc.; subsequent rows are comments.

Hi @DChaffee , by default, HubSpot interprets a different email as a brand new contact. You are able to set secondary email addresses for a contact but not through the native import tool, it would have to be done in-app. I would recommend reviewing this article as it gives a breakdown of what a well-formatted import file looks like and then this video on how to actually import the file!

Hi, @PatrickEng, thanks for your reply. But I’m not talking about multiple email addresses. I should be a little more specific. Let’s say column A is “name”, B is “phone”, C is “email”, D is “Date added”, E is “Comments”. In row 1 all columns are populated; in rows 2 through 7 (or 3 or 21), only E is populated. Those rows all relate to the person in row 1. That’s the import scenario I’m asking about. I’ve looked at the article you refer to; it doesn’t address my situation. Thanks for any help you can give.

Hey @DChaffee, thanks for clarifying, I misunderstood! This could be a good use case for doing a multi-object import where you’re importing Contacts and Notes. So the comment in your file is a note and you’d have to do some excel work to flesh out the rows so that each one contains the email field but that way when you import, it will import with the contact’s info like name, email, phone, etc and then create Notes on their timeline for extra information about them. Attaching some screenshots to hopefully clear it up!

@PatrickEngThanks, that’s very helpful! Then the next question is “what if a note is very long and occupies multiple rows?” Do we need to consolidate it all onto a single row for it to import as a single note? or can multiple rows be concatenated into a single note by (for example) having the same activity date on all those rows, or by having the activity date appear only on the first row of the note? Looking forward to your further reply :slightly_smiling_face:

@PatrickEng

I wonder if you missed my last question? I can’t really proceed until I know the answer. Thanks!

Hi @DChaffee, each row is it’s own unique object so if you wanted it all on one “note” you would need to append the data into the same cell. I would recommend reaching out to our support team though since they can help too!

Hubspot live chat not working in my shopify websitr

Hi @05877,

I would highly recommend reviewing this article that walks through some troubleshooting steps. If that doesn’t work, I would highly recommend reaching out to our Support team by logging into your HubSpot account and clicking the Help button in the bottom right corner.

@miljkovicmisa , @JBeatty , @Bryantworks , @Gonzalo , @Anton

Ever want an opportunity to ask questions to the people who actually work on the HubSpot product?

Here’s your chance :winking_face_with_tongue:.

Hello @PatrickEng (and rest of the team).
First of all thank you for this great product (hubspot cms) and your efforts to make it better and cheaper!
I have been longing to create a hubspot hosted SPA (Single Page Application) but never had an opportunity with my team for such a case.

So I wanted to experiement and went on to play around with react and barbajs, for those of you who don’t know barbajs, it is a javascript library that makes http requests using pushState thus without refreshing the browser and is very usefull for page transitions and improving website performace (speed), thus all the scripts are loaded only once, this imposes various issues when working with the hubspot platform as a lot of things (analytics, form, buttons etc) are “script sensitive”, meaning they need their script to be loaded for every page you visit.

There is a great document regarding this issue and another page regarding javascript frameworks in hubspot.
There is also a thread in the slack channel with someone having some progress with it.
- The first one is not clear on what happens with third party integrations (like google analytics integration, is it covered too? How would someone go about this?).
- Some thoughts on SEO, are there any pitfalls that can possibly downgrade the website’s performance?
- Other issues that could possibly have problems with such implementation (cta’s, forms,..anything else?).

So to wrap up now that I have the opportunity I would like for someone to elaborate a bit more on how to approach SPA’s in HubSpot CMS, what are some great pitfalls and drawbacks and what issues to be aware of regarding implementation of a single page, and last but not least, is it worth it at the end of the day (that would be a personal opinion).

Hey there @miljkovicmisa, great questions!

I’ll do my best to answer as many of them as I can in sufficient detail.

Tracking scripts, CTAs, and Forms

Spoiler

A common thing to do with SPAs is to handle routing so you can effectively have multiple different page-views in the same page. HubSpot as of today does not currently support URL routing. That doesn’t mean you can’t achieve the same effect though through other means like using query parameters instead of actual page URLs or other techniques.

I bring this up because it’s related to your question of loading the tracking scripts - if you’re not loading a new page and initializing the tracking each time it impacts what your data looks like.

This issue isn’t specific to HubSpot, and thankfully most analytics tools provide ways to accommodate for this. In most cases you load your analytics script on the page like normal, then use JavaScript functions to signal to the tracking script to log page views and events.
Google has a great doc that shows how to do it with Google Analytics.

Similarly to Google Analytics, you can do the same with HubSpot’s tracking code.

Regarding forms and CTAs their code only needs to be loaded as needed. Because both CTAs and Forms scripts modify HTML you want to ensure that your reactive code will not overwrite what those scripts inject. My method for handling this with Vue.js is to create an element surrounding the script tag, and apply a v-once. There may be a more elegant solution, that’s just a quick and simple way of doing it. Offhand I’m not sure of the React equivalent, but I’m sure one exists.

BarbaJS

Spoiler

I haven’t personally used barba.js but have worked on a project that used something similar. My understanding of Barba.js is that it tries to “fake” that routing experience with real pages. This technique may have some pitfalls when it comes to handling the loading of scripts, barbaJS has some hooks you can use to work around this in combo with the notes on script handling above. Unfortunately though the way barba.js works it likely will try loading the tracking codes every time you navigate to a new page. You may be able to wrap the {{standard_footer_includes}} in an element and tell barba.js to ignore it. I’d consult their Slack and GitHub for solutions to ignore blocks of code when transitioning to a new page. It’s likely a common question.

SEO and performance pitfalls

Spoiler

Generally most SPA advice is not specific to HubSpot, and you have the same considerations for all other platforms. There are a lot of great articles about performance of SPAs and websites in general though the recommendations are all based around these principles:

  • Only send data to the client that it actually needs, when it needs it. (This applies to everything from images, to data, to scripts, to CSS).
    • If it’s highly probable that data will be needed soon - give the browser hints to be able to prepare, perform preconnects, prefetches, etc.
    • Compress/reduce the data being transferred as much as makes sense.
  • Minimize the DOM manipulation that needs to actually occur to prevent slowness in client side rendering.
    • Server-side rendering on HubSpot may look different than you’re used to since you’ll be using HubL.

SEO wise you can use JS to update meta tags as needed for different views, and Google states they do see those updates. Due to our current lack of page path routing at the moment, there may be limitations to how Google handles the meta information for the separate views. You may be able to work-around that by having clones of your page at each of the possible real webpage paths that your SPA would have for your views, and writing your code to show the correct view based on the page URL.

Can you build a performant SPA on HubSpot, yes. SEO may have technical limitations/challenges on the SPA itself due to lack of routing.

Is it worth it at the end of the day to build a SPA?

Spoiler

Use the appropriate tool for the job. If you’re making a brochure site - where it’s not super interactive, and is mostly informative and marketing focused. Then building it as an SPA likely isn’t going to give you benefits that really justify it.
That same site however could have SPA style pages where it makes sense. I’ve personally done this. For example: a product customizer page may have tons of views, and interactive elements. It makes total sense to use a reactive framework and potentially treat it like a single page app. That doesn’t mean the entire website needs to be an SPA just because you want to provide that experience for one page.
Consider the quality of the content editing experience you want to give content creators. If you go all-in on a framework, are you ensuring that they can still drag and drop? Are you ensuring that your code looks good in the page editor?
It also matters who the content creators will ultimately be for your project. If it’s likely to be just you and other devs, then likely that content creator experience isn’t something you’ll invest in as much as focusing on making your code easy to work in. If the content creators will be marketers, then you definitely want to make sure they have easy ability to control things. I suggest collaborating with the stakeholders and identifying up-front what should be customizable in the page editors.

Thank you so much for the great questions! If you have any follow up questions I’m happy to chat on our developer slack. We’ve got a channel for #js-frameworks-in-hubspot-cms, love to talk to you there about it :slightly_smiling_face:

Whoa! @jmclaren that was one sweet answer!
I’m astonished by the details you went into, thank you very much for all your insights and for addressing each and every one of my points, will give them special attention and seek you out on slack for any further details.
:+1::+1::+1:
Cheers!

Geez, the day I would be able to create a website with Gatsby, GraphQL and React on the HubSpot CMS is a day I would celebrate.

Are you planning on increasing the amount of website pages for HubSpot CMS Starter? It would be a great way to introduce prospects that want a website to HubSpot. The limitation of 15 pages makes it hard to convince these prospects to use HubSpot instead of a free CMS like WordPress.