Anyone can set up a Hubspot Marketplace Provider account and create new templates to sell to any of HubSpot's 18,000+ customers. Documentation for designing on the platform is here and directions for submitting a template are here. To ensure the best experience for HubSpot Marketplace Customers, each template is reviewed against the following criteria by one of our Quality Assurance Engineers.
1.1 At this time, submissions to the Marketplace may contain:
- Website Templates
- Landing Page Templates
- Blog Templates
- System Page Templates
- Error Page Templates
- Password Page Templates
- Subscription Preference Page Templates
- Email Templates
1.2 Templates should utilize HubSpot's Drag & Drop Interface.
- Website Page templates must utilize HubSpot's Drag & Drop Interface.
- Landing Page templates must utilize HubSpot's Drag & Drop Interface.
- Blog templates must utilize HubSpot's Drag & Drop Interface
- System Page templates must utilize HubSpot’s Drag & Drop Interface.
- Email templates may utilize either the Drag & Drop or Coded File interface due to style limitations.
1.3 Third-party asset files must be loaded on the HubSpot CDN unless they are from a reputable source (Google Fonts, Font Awesome, etc.), in which case they can be added to the stylesheet using the '@import' feature.
- Clarification: when calling asset files, they must use the 'get_public_template_url' function so that the asset files will be included with the template.
- Pro Tip: create a Custom HTML module in the Global Footer and add all script files.
2.1 Design must display properly at common mobile device and desktop screen widths.
- Clarification: Content should take up full width of page without requiring horizontal scrolling, unless horizontal scrolling is the obvious design intent. With hundreds of devices and configurations it is necessary to test each page against as many of them as possible. If you are unable to test against a physical device or desktop screen size then use a software-based approach to test against various configurations. All templates should comply with HubSpot's 12 column grid system based on Bootstrap 2.x.
2.2 Design must display high aesthetic quality, visual appeal, and should be attractive across all platforms.
- Clarification: over time, the expectation to deliver higher quality designs to customers increases. New templates are expected to meet or exceed the current level of quality in order to ensure those expectations are met.
- Submissions exhibiting poor aesthetic quality:
- 2.2.1 Are too similar in design to existing items.
- 2.2.2 Display inconsistent use of spacing/padding or line-height affecting typography and element placement.
- 2.2.3 Use unattractive, watermarked, or overly compressed imagery and textures.
- 2.2.4 Use colors that do not complement each other.
- 2.2.5 Include misaligned or inconsistently-placed elements.
2.3 Multiple color versions of templates must not be submitted.
- Clarification: submitting templates with the same layout in different color schemes is not permitted. We will approve one template and reject all others.
2.4 Descriptive Naming Conventions must be used.
- Clarification: template names will automatically be created from the template file name.
- Pro Tip: do not use a slash “/" in the template name as this will cause a template injection failure.
2.5 All templates submitted must include a working example page.
- Clarification: when submitting a landing page, blog, website page or email template, include a link to a live demo version template in the Demo field. A link to your hs-sites staging domain is acceptable.
2.6 All menu modules must use the default menu menu tree.
2.7 Templates must use descriptive module labels where appropriate.
- Clarification: Labels are to be used to describe a module's purpose.
2.8 Templates must use default module content to explain each module's purpose.
- Clarification: default module content should include generic text describing how to use the template from a technical or inbound marketing standpoint. This demonstrates the template’s capabilities and provides clear guidelines for the user. You can set default content by selecting the gear icon > Edit Options on individual modules in the Template Builder.
2.9 Default content must match what is advertised on the template listing page and demo site.
- Clarification: all verbiage, images, and other media used on the template listing page should match what is used on the demo site and the template.
2.10 Templates must not use elements from HubTheme.
- Clarification: if any elements from HubTheme are used in a template, it will be rejected. Elements include, but are not limited to:
- HubTheme Global Groups
- HubTheme Global Modules
- HubTheme stylesheets
2.11 Templates must not use elements from a HubSpot example template.
- Clarification: any default template that is located or cloned from a template that is located in the HubSpot Default folder in the Design Manager will be rejected.
2.12 Templates must not use elements from an existing HubSpot Marketplace template.
- Clarification: any template that was purchased or a cloned version of a template that was purchased from the HubSpot Marketplace will be rejected.
3. Code & Template Quality
3.1 All style must be in one stylesheet, attached to the template head.
- Clarification: it should not be assumed that an additional stylesheet(s) will be called, such as primary.css or hub-theme.css.
3.2 Templates must not use Styling on Structure.
- Clarification: it is never a good idea to style off of the structural scaffolding of the website. This would include elments such as the container-fluid, row-fluid, widget-span, or other classes and IDs used globally throughout the site template (see example below). If you need to apply a style to an element, you can place a custom class on it from within the template builder. Styling with custom classes makes it easier to target a single module or item and maintain the site scalability.
3.3 Templates must not use custom inline classes that users could overwrite from the Rich Text Editor (WYSIWYG).
- Clarification: custom classes should not be included inline in Rich Text modules unless clear directions are provided to the user on how to properly enter content without compromising the formatting of the page. You can apply a class to a module at the template level by clicking on the gear icon on the right side of a module and selecting Edit CSS (or clicking the gear and then Edit CSS Declarations on a module group).
3.4 Templates must not use redundant or unnecessary code. This includes but is not limited to:
- Unused or commented out code
4.1 All default modules must be styled enough to be used. Any module that is added to a page should match the style of the template. This list includes but is not limited to:
- Header Modules
- Form & Subscription Modules
- Form Labels
- Form Input Fields
- Checkboxes & Radio Buttons
- 'Select' Buttons
- 'Submit' Buttons
- Image Modules
- Image Slider Modules
- Social Sharing Titles
- Post Listing & Post Filter Modules
- Menu Modules
- Search Modules
- RSS Modules
- HubL Modules
For more information, please reference our Boilerplate CSS file.
4.2 HubL Modules, Custom Modules, and Global Modules may be used in Website & Landing Page Templates.
5.1 Blog Post or Blog Listings templates may be used.
- Clarification: The template title must reflect that a template is specifically intended for either a Blog Post or Blog Listing.
5.2 Comments must be styled.
- Clarification: comments should be tested and styled to match the style of the blog template. This includes:
- Parent Comments
- Comment Responses
5.3 Authors must be styled.
5.4 HubL Modules, Global Modules and Global Groups may be used in Blog Templates
6.1 Email templates must contain the Office Location Information module that includes the tokens for:
- Street Address 1
- Street Address 2
- Email Type
6.2 HubL Modules may be used in Email Templates.
7.1 All Template Packs with the exception of Email Template Packs must use the same stylesheet.
7.2 Template packs must not exceed 100 templates.
- HubSpot reserves the right to reject templates for reasons not listed above, though the QA Engineer will provide feedback via email in such cases.
- Our Quality Assurance (QA) team works out of a queue of submitted templates. Templates that do not pass QA for violating any of these guidelines will be moved to the bottom of that queue when they are resubmitted.
- Please note that HubSpot is unable to provide information about your template's place in the queue. Following the directions here closely will help ensure that your template passes the first time it is run through the QA process, but as volume fluctuates our team is unable to provide a timeframe in which your template will be inspected.
- Providers must support their own work if there are issues with any of the code.
- Providers must be able to provide a detailed receipt if requested including:
- Template details
- Date of purchase
- Price of template
- Template provider company information
9.1 Templates must not include third-party assets that are not licensed for distribution. Items include:
- Textures, Photographs, and other Artwork
- Icons and Sprites
- Multimedia including sounds, videos, and music
9.2 Templates must be approved within 3 resubmissions or will automatically be failed.
9.3 Providers must use Stripe Payment Gateway if applicable in their business’s country.
9.4 HubSpot is not responsible for Payment Gateway (Paypal or Stripe) issues that may occur during the purchase process.
9.5 Any templates submitted that violate copyright laws will immediately be removed and the provider will be banned from the HubSpot Marketplace.