Why Every B2B Startup Should Start with HubSpot CRM

Every early-stage B2B company needs a CRM to add contacts, accounts, and deals as well as keep track of things like notes, email communication, meetings, etc. The earlier you implement a CRM, the better off your company will be in the long run.

With so many CRMs on the market, it can be quite daunting to pick the right one. As an early stage CEO, VP of Sales, or COO, these are probably the questions you’re asking yourself…

  • Salesforce is the leader – shouldn’t I just go with them?
  • Will the CRM I pick integrate with other third-party apps?
  • Will my sales/marketing/ops team be able to adopt the CRM we choose?
  • In addition to licensing, what other hidden costs come with the CRM we choose?
  • I don’t know what I don’t know, what other “gotchas” are there with this decision?

Hopefully this blog post will help steer you in the right direction when it comes to picking a CRM for your startup that is going to be simple, cost-effective, and grow with your business – especially in the early days.

1.) HubSpot CRM is free

The fact that HubSpot CRM is free makes it a no-brainer for most early-stage startups. In contrast, Salesforce is going to about $150/user/month, which quickly adds up.

In addition to HubSpot CRM being free for up to the first 1 million contacts, they also offer other awesome free functionality for marketing, sales, and service (support).

Read more about all of HubSpot’s free features at https://www.hubspot.com/pricing/crm.

2.) Add HubSpot “Hubs” as you grow

HubSpot’s free CRM and free features around marketing, sales, and service are terrific. However, as you grow your business and your needs in these areas become slightly more sophisticated, you’ll most likely want to add-on one or more of HubSpot’s “Hubs”. These include:

  • Marketing Hub
    • If you choose Salesforce, you’ll most likely be looking at also purchasing HubSpot Marketing Hub, Marketo, or Pardot.
  • Sales Hub
    • If you choose Salesforce, you’ll most likely be looking at also purchasing SalesLoft or Outreach
  • Service Hub
    • If you choose Salesforce, you’ll most likely be looking at also purchasing Zendesk.

As you can see, HubSpot is going to give you flexibility to add the appropriate “Hubs” as you need them, yet maintain an all-in-one, easy-to-use system. As an early-stage startup, I can’t stress enough how important this simplicity is especially in the early days. You have enough to focus on around trying to find product-market fit, acquiring customers, hiring, fund raising, etc. – you don’t want to be wrangling a messy tech stack.

3.) Get up to 90% off with HubSpot for Startups

HubSpot has an insanely generous program called HubSpot for Startups.

Startups with under $2 million in funding are eligible for 90% off in their first year, 50% in your second, and 25% ongoing. Startups who have raised over $2 million are eligible for 50% off in their first year, and 25% off ongoing.

As a startup founder or executive, this alone is compelling enough to choose HubSpot. You can get the full Professional Growth Suite for a little more than the cost of a Salesforce license for one user!

Learn more about HubSpot for Startups and see pricing at https://www.hubspot.com/startups.

4.) Easily transition to Salesforce for CRM later on

There may come a time after you’ve raised your Series B or hired your 100th employee that you’ve determined you’ve outgrown HubSpot CRM and want to implement Salesforce as your CRM. This is totally okay and is actually quite common!

HubSpot has a 1-to-1 sync with Salesforce and syncing all the data in HubSpot CRM with Salesforce is incredibly easy to do, so don’t feel like if you go with HubSpot CRM today that you’ll be locked into it forever.

In addition, HubSpot Marketing Hub is arguably the best marketing automation platform, so even if you switch to Salesforce for CRM later on, you’ll most likely keep HubSpot Marketing Hub integrated with Salesforce.

Next Steps

I recommend you go apply for HubSpot for Startups. In the process of applying, you’ll create a free HubSpot account and can start to use it for your business.

If you have any question, please feel free to email me at andrew [at] align.ly.

Introducing Align.ly Lead-to-Account “Realign”

One of the biggest challenges for Salesforce admins is keeping lead, contact, and account ownership accurate across their entire Salesforce environment. This is challenging because sales reps are constantly changing territories, changing roles, and new reps are being hired and/or leaving the company. Adding additional complexity, there are hand-off points within the lifecycle of an account (ie SDR -> AE, AE – > CS, AE -> SDR) where ownership should be updated.

Why is this important? If your ownership isn’t accurate, it will impact the productivity of your sales team. Leads will get routed to the wrong sales reps, reps will waste time confirming ownership, and marketing leads and re-engagement notifications will slip through the cracks. Overall, it means your sales and marketing teams will not be executing a peak efficiency.

Why Align.ly Lead-to-Account “Realign” is a game changer

Align.ly Lead-to-Account “Realign” will ensure every lead, contact, and account in Salesforce is always owned by the right sales reps. As account ownership and/or lead assignment rules change, Align.ly will “realign” all ownership.

Here’s how it works…

Matched Lead Owner Realign

  • Align.ly Lead-to-Account will have already matched leads to accounts. So when an account owner changes, Align.ly will ensure the matched lead ownership is also updated to align to the current account owner.

Unmatched Lead Owner Realign

  • For leads that are unmatched in Salesforce, if lead assignment rules change, Align.ly will re-run lead assignment rules against your existing unmatched leads ensuring they are assigned properly.

Contact Owner Realign

  • As account ownership changes, Align.ly will ensure contacts on the account also have their ownership updated to match the account ownership.

Answers to your questions

  • Does Align.ly Lead-to-Account “Realign” only work with the standard Account Owner field or can I use a custom User look-up field on the Account?
    • You can use Account Owner or a customer User look-up field. This is updated in Align.ly Lead-to-Account’s Custom Settings.
  • Do I have control over which leads/contacts get “realigned”?
    • Yes, you can specify a “WHERE” clause so that only specific leads/contacts get updated. For example, if an SDR/BDR is currently following up with a lead/contact, you might choose not to “realign” the ownership until they are done with their sequence.
  • When will this feature be released?
    • Align.ly Lead-to-Account “Realign” is currently available in v1.2. If you are an existing customer, upgrade the app to get access.
  • Is there additional documentation?
    • Yes, visit https://help.align.ly for technical documentation.

How to view Campaign Member records from a Related List in Salesforce Lightning

In Salesforce Lightning, Salesforce makes it very difficult to navigate to view a Campaign Member record from a related list on Lead, Contact, Opportunity, Account, etc. Luckily, there is an easy-to-implement workaround. Here’s how to do it…

Add a custom field to Campaign Member

  1. Go to Setup -> Object Manager -> Campaign Member -> Fields & Relationships
  2. Click “New”
  3. Select a Data Type of “Formula”
  4. In Field Label, type “View”
  5. Select Formula Return Type of “TEXT”
  6. Click “Next”
  7. In Insert Field, type HYPERLINK( Id, “View” )
  8. Check “Treat blank fields as blanks”
  9. Click “Next”
  10. Select field-level security
  11. Click “Next”
  12. Uncheck add to page layout
  13. Click “Save”

Add the custom field to your Related Lists

In this example we will add the field to the Contact related list. It is the same process for all objects with a Campaign Member related list.

  1. Go to Setup -> Object Manager -> Contact -> Page Layouts
  2. Select the Page Layout you want to update
  3. Find the “Campaign History” related list and click the wrench icon to edit Related List Properties
  4. In Available Fields find the “View” custom field. Select it and move it to Selected Fields.
  5. Click “OK”

That’s it!

When you navigate to the Campaign Member related list you will now see a link to “View” the Campaign Member record directly.

How to pass values from Google Analytics into a form and onto a Salesforce Campaign

The holy grail of attribution within Salesforce is to be able to pass values from Google Analytics (including UTM parameters) into hidden form fields and then pass those values into a Salesforce Campaign Member record.

Here’s a brief video of the end result:

In this blog post I’m going to take you step-by-step through how to set this up. While the number of steps might seem a little daunting at first, I assure you this is a relatively easy process that will pay dividends for years to come.

1.) Add Google Analytics to your website

Most likely you already have Google Analytics installed on your website. If you do, you can skip this step. If not, follow these steps to install Google Analytics.

First, go to the Google Analytics website and create an account if you do not already have one.

Once logged in, click on “Admin”.

Then under “Property”, click on “Tracking Info” then “Tracking Code”.

Under “Website Tracking”, follow the instructions to add the Google Analytics tracking code to your website.

2.) Add Google Tag Manager to your website

If you haven’t already, go to Google Tag Manager and create an account. It is a free service offered by Google.

Once logged in, find and click on your Workspace ID:

You should now see instructions for installing Google Tag Manager on your website. Note that you need to add two snippets of code to your website.

Do not use the code above – copy and paste from your Google Tag Manager account.

3.) Configure script in Google Tag Manager to parse Google Analytics cookie and set custom cookie

First, download the GA Custom Cookie Script (credit goes to E-Nor).

Second, you will see a line to set your top-level domains. Replace “align.ly” with your website domain. This also supports multi top-level domains – simply add commas (ie “align.ly”,”alignly.com”).

Now that your script is ready, go to Google Tag Manager and click on “Tags” -> “New” -> Name it “GA Custom Cookie Script” and then click on “Tag Configuration” -> “Custom HTML” -> and paste in your script.

Next, click on “Triggering” and select “All Pages”.

4.) Configure script in Google Tag Manager to apply values from cookie to hidden form fields

First, download the GA Cookie Extraction Script (credit goes to Pepperland Marketing).

Next, update your domain in the script.

Now that your script is ready, go to Google Tag Manager and click on “Tags” -> “New” -> Name it “GA Cookie Extraction Script” and then click on “Tag Configuration” -> “Custom HTML” -> and paste in your script.

Next, click on “Triggering” and select “All Pages”.

5.) Push Google Tag Manager changes live

In Google Tag Manager, click on “Submit” and then “Publish”.

Congrats! The hardest part is over.

6.) Add properties/fields to contact in your marketing automation platform

Properties/fields to create on contact in your marketing automation platform:

  • GA Campaign
    • Field type: text
    • Field name: ga_campaign
  • GA Source
    • Field type: text
    • Field name: ga_source
  • GA Medium
    • Field type: text
    • Field name: ga_medium
  • GA Content
    • Field type: text
    • Field name: ga_content
  • GA Term
    • Field type: text
    • Field name: ga_term
  • Landing Page
    • Field type: text
    • Field name: landing_page
  • Conversion Page
    • Field type: text
    • Field name: conversion_page

7.) Create fields on Lead, Contact, and Campaign Member in Salesforce

We are going to want to create the following fields on Lead, Contact, and Campaign Member in Salesforce. Yes, unfortunately we have to create the same fields 3 times 🙂

  • GA Campaign
    • Field type: text (255)
    • Field name: GA_Campaign
  • GA Source
    • Field type: text (255)
    • Field name: GA_Source
  • GA Medium
    • Field type: text (255)
    • Field name: GA_Medium
  • GA Content
    • Field type: text (255)
    • Field name: GA_Content
  • GA Term
    • Field type: text (255)
    • Field name: GA_Term
  • Landing Page
    • Field type: text (255)
    • Field name: Landing_Page
  • Conversion Page
    • Field type: text (255)
    • Field name: Conversion_Page

8.) Map Lead fields to Contact fields in Salesforce

In Salesforce Lightning, go to Setup -> Object Manager -> Lead – > Fields & Relationships -> then click the “Map Lead Fields” button.

Map all the Lead fields created in Step #7 to the Contact fields also created in Step #7. Click “Save”.

9.) Map Lead/Contact fields in Salesforce to the Contact properties/fields in your marketing automation

This will most likely be done in your marketing automation tool and since each platform is different, I can’t give detailed instructions.

The goal is to sync the Contact fields from your marketing automation platform to the Lead/Contact fields in Salesforce.

10.) Add hidden fields to your forms

Now that we’ve created all our fields and they are syncing, we want to add hidden fields to our forms. At Align.ly, we use HubSpot, so I’m going to show you how we set this up internally. For other marketing automation platforms the process should be similar.

Note that it is important that the “name” fields in your GA Cookie Extraction Script match up with the “name” fields in your hidden form fields.

Once this step is complete, you should now be able to pass values from your Google Analytics cookie into the hidden form fields. Upon form submission the values will populate in your marketing automation platform and then sync over to Salesforce – brilliant!

11.) Populate GA values on Campaign Member when a Lead/Contact is added into a Salesforce Campaign

Up until this step, you have the GA values on Lead/Contact in Salesforce, but what happens if someone interacts with more than one campaign? Do you overwrite the values? Not record subsequent engagement? Of course not. This is where mapping values to Campaign Member is super valuable. Here are the steps…

In Salesforce, go to Setup -> Create -> Workflows & Approvals -> Workflows

Click “New Rule” -> Select “Campaign Member” -> Name it “Update GA Values on Campaign Member” and then configure as follows:

Now we are going to add 7 field updates to map the values from Lead/Contact to Campaign Member.

Click “Add Workflow Action” -> “New Field Update” and configure as follows:

Note the Field API Name in the formula field.

Now add field updates for the remaining 6 fields making sure to swap out the Field API Name in the formula field. It should look like this when done:

Now go ahead and “Activate” the workflow rule.

12.) Clear GA Values on Lead/Contact in our marketing automation platform and Salesforce

Now that we mapped the GA Values to Campaign Member, we can now clear the values in our marketing automation platform and Salesforce.

There are a few different way to accomplish this in either your marketing automation platform or Salesforce. Here’s how we did it in HubSpot:

This is just a partial snapshot of the workflow. We check to see if any of the GA field have a value and if they do we clear them all.


That’s it! If you made it this far – congratulations! This was an epic blog post, but we think this can transform how you track and measure your marketing campaigns.

If you have any questions, please feel free to reach out to me at andrew[at]align.ly.

Best of luck and enjoy!

[Framework] Salesforce Campaign Naming Conventions and Best Practices

If you are in sales or marketing and you’ve tried to utilize Salesforce Campaigns for attribution, you know that properly naming Salesforce Campaigns in a consistent and scalable way is nearly impossible.

Over the last several years I’ve helped countless high-growth companies implement and utilize Salesforce Campaigns to track KPIs, measure multi-touch attribution, and more. Over time, I’ve developed best practices and a framework for naming Salesforce Campaigns that I’m going to outline in this article.


  • Keep it simple
  • Enable grouping, slicing, and filtering of Campaign data
  • Utilize Salesforce Campaigns as a way to align sales & marketing

Best Practices

  • Make it human readable
  • Utilize standard Salesforce fields as much as possible
  • Breakout key components into separate fields
  • Utilize Google Analytics cookies and UTM parameters to limit the number of Salesforce Campaigns you need to create

The Framework

[Status] [Name] [Type] via [GA Medium] from [GA Source] engaging with [GA Content] searching [GA Term]


  • Downloaded ABM for Dummies eBook via PPC from Google Adwords engaging with Banner Ad 10 searching “Account-Based Marketing Guide”
  • Attended Account-centric Sales 101 Webinar via Retargeting from RollWorks engaging with Ad Creative #3
  • Did Not Attend ABX from 0 to 60 Event via Email from House Database engaging with Email A

Breakdown of Framework

Campaign Name (standard SFDC field on Campaign)

  • What is the event/asset name?
    • ABM 101
    • Account-centric Sales
    • How to deploy ABM in 7 days
    • Measuring ABM Success

Campaign Type (standard SFDC field on Campaign)

  • What was it?
    • Webinar
    • eBook
    • Case Study
    • Conference

Member Status (standard SFDC field on Campaign Member)

  • What action did they take?
    • Attended
    • Did Not Attend
    • Registered
    • Read
    • Downloaded
    • Submitted

GA Medium (custom SFDC field on Campaign Member)

  • How did they get it?
    • PPC
    • Paid Social
    • Organic Search
    • Email
    • Retargeting

GA Source (custom SFDC field on Campaign Member)

  • Where did they get it from?
    • Google Adwords
    • House Database
    • Facebook Ads

GA Content (custom SFDC field on Campaign Member)

  • Which call-to-action or content-targeted ad was engaged with?
    • Homepage Banner
    • Creative Ad #5
    • Footer CTA

GA Term (custom SFDC field on Campaign Member)

  • Which keyword was searched from Google/Yahoo/Bing?
    • “how to implement ABM”
    • “what is retargeting”
    • “what is the best blogging platform”

How to Implement, Automate, and Analyze

In our follow-up blog post, we discuss in-depth how to implement and automate using Google Analtyic cookies, Google Tag Manager, your favorite marketing automation platform and Salesforce.

How to pass UTM parameters into a HubSpot form

HubSpot makes it relatively easy to pass UTM parameters from a URL into hidden fields in a HubSpot form. In this blog post, we will outline step-by-step how to do so.

Step #1: Create HubSpot properties for UTM parameters

We will want to create HubSpot properties for the 5 standard UTM parameters:

  • utm_campaign
  • utm_source
  • utm_medium
  • utm_term
  • utm_content

To do so, in HubSpot click on Settings -> Properties -> Create a property under Contact Properties.

I also like to create a Property group called “UTM Parameters”. It should look like this when you’re done.

UTM parameters

Note that the “Internal Name” of the HubSpot property should be all lowercase to match the URL parameter name in the URL.

Step #2: Insert UTM parameter properties as hidden form fields in your HubSpot forms

Go to Marketing -> Lead Capture -> Forms and select a form you want to update.

Add your newly created UTM parameter properties as hidden form fields to your form.

Save your form!

Step #3: Test your HubSpot form

Append URL parameters to a landing page with your HubSpot form. Here is a string of URL parameters you can use for testing:

?utm_campaign=lead-to-account matching&utm_medium=ppc&utm_source=google adwords&utm_content=ad1&utm_term=lead-to-account matching salesforce

Now submit your form and go view the contact in HubSpot. It should look like this:

If you see the above, everything is working and you’re all set – congratulations!

How Lead-to-Account Matching Drives an Account-Based Strategy

Looking for a Lead-to-Account Matching solution for Salesforce? Download Align.ly Lead-to-Account Matching.

If you’re deploying Account-Based Marketing (ABM), but you’re still working out of Leads in Salesforce, this post is for you. Every time someone asks me what is the first step to deploying ABM my answer is always the same: Lead-to-Account Matching.

How Lead-to-Account Matching Drives ABM

There are several reasons why Lead-to-Account Matching is foundational to an Account-Based Marketing and Sales strategy.

#1.) Focus

I wrote about why going Account-Based is about Focus in a previous blog post, so I won’t elaborate on the details. However, Lead-to-Account Matching will help sales and marketing align and focus on the best fit accounts leading to greater efficiency with marketing budgets and increased productivity from sales.

#2.) Efficiency

Poor routing of marketing activity to sales is a productivity killer. I think in most companies this inefficiency is chalked up as the cost of doing business. However, a good Lead-to-Account Matching solution can solve 95% of this problem resulting in much more efficient sales follow-up.

#3.) Effectiveness

Delivering a great buyer experience is the future of B2B marketing and sales. Matching new inbound Leads with existing Accounts helps with delivering on this promise.

For example, let’s say you were engaged in a sales cycle with an Account, but ultimately lost the deal. Three months later a new Lead from the same company responds to a marketing campaign. Without a Lead-to-Account Matching solution in place your inbound sales rep might not realize that there was prior history in the Account and follow-up cold. Now, what if that new inbound Lead was matched to the Account and now the rep could research the history and follow-up strategically?

#4.) Accountability

Without a good Lead-to-Account Matching solution it is almost impossible to accurately measure B2B KPIs and conversion rates. If you’re interested, I wrote about this in detail in the blog titled 11 Reasons Why Measuring B2B Conversion Rates is (Nearly) Impossible. However, once marketing deploys Lead-to-Account Matching and can accurately measure their ability to source net new opportunities or accelerate existing opportunities it creates a level of urgency and accountability across the entire marketing team, which typically bleeds into the sales team.

#5.) Organization

Finally, a good Lead-to-Account Matching solution helps organize your Salesforce database. It drives data hygiene, CRM adoption, and overall reliability of the data. More importantly it helps marketing run targeted campaigns and for sales to quickly and effectively follow-up with the entire buying committee for true Account-Based Sales Development (ABSD).

So, if you’re thinking about going Account-Based or already have a strategy in place, but are missing a Lead-to-Account Matching solution, do yourself a favor and go download Align.ly Lead-to-Account Matching for Salesforce.

Is Align.ly an alternative to LeanData?

We are frequently asked if Align.ly Lead-to-Account for Salesforce is an alternative to LeanData, so we decided to write a blog post explaining the differences.

Inexpensive vs Expensive

Align.ly Lead-to-Account is meant to serve SMB/Mid-Market companies (fewer than 1,000 employees), so we wanted to price it accordingly and make it a no-brainer to implement. LeanData on the other hand is very much meant for the enterprise and is priced to reflect that.

SMB/Mid-Market vs Enterprise

Align.ly Lead-to-Account Matching is really focused on serving B2B companies in the SMB and Mid-Market. This means companies that have fewer than 1,000 employees. As you grow to 1,000+ employees most likely your needs will become much more sophisticated and you’ll probably outgrow Align.ly’s solution and be ready to invest in LeanData. LeanData is an outstanding solution for enterprise companies as it has all the bells and whistles needed to do complex account matching and lead routing.

Lightweight vs Robust

Align.ly Lead-to-Account Matching is a simple, light-weight solution designed to solve 95% of the problem. LeanData is a more robust solution that solves 100% of the problem. However, solving “the last mile” definitely adds a lot of complexity to the solution. The questions you’ll want to ask yourself are what is “good enough” and what is “overkill” in your environment?

So, is Align.ly Lead-to-Account Matching a competitor to LeanData? In my opinion, no, as we are two solutions solving the same problem, but we are both meant for two very different audiences.

Interested in Align.ly Lead-to-Account Matching? Download the Salesforce App here and view our install videos and documentation here.

Account-Based is About Focus

If you’re thinking about Account-Based Marketing and Sales, it probably means the following:

  1. You can define a good fit account
  2. You can define the right personas within those accounts

So, why do you insist on counting leads that don’t fall into #1 and #2 towards your MQL goal? Why are you wasting valuable resources by passing these “MQLs” to your sales team for follow up? Why are you wondering why your conversion rates are low?

I know what you’re thinking, “But they could buy!”

You are right, they could buy, but there is a cost.

  • The 5 calls and 5 emails by your sales development rep costed the company $50.
  • The discovery call with an Account Executive and Sales Engineer – another $300.

But more importantly are the opportunity costs.

  • What if your SDR booked a meeting with the right persona in an ideal account?
  • What if your AE was focused on progressing a deal vs taking the discovery call?
  • What if your SE spend the time making an existing customer more successful?

Now let’s assume they do buy…

  • Most likely it will be a smaller deal with a higher cost to support that churns quicker than average.

All this because a marketer passed an “MQL” they shouldn’t have.

Going Account-Based means focusing. Focusing on the right personas in the right accounts at the right time that will maximize revenue.

It’s okay to not pass an inbound “MQL.” The sales team will thank you.

Why Align.ly Lead-to-Account Matching and Auto-Convert for Salesforce is Free

Yes, you read that right. We are releasing Align.ly Lead-to-Account Matching and Auto-Convert for Salesforce as a free download.

Now I know you’re probably thinking – “Other vendors charge thousands of dollars a year for a similar solution, why is Align.ly giving it away for free?” – and our response is pretty simple…

We believe lead-to-account matching and auto-conversion in Salesforce is foundational for a successful account-based marketing and sales strategy. Being able to quickly and easily match new leads to accounts drives the following:

  • Lead Routing
  • Account Ownership
  • Campaign Attribution
  • Marketing Metrics & KPIs
  • Email Nurturing
  • Account-Based Advertising
  • Sales Productivity
  • Conversion Rates
  • Database Hygiene
  • and More

We’ve seen too many B2B companies struggle in all these areas and the root cause is typically an unorganized Salesforce database. A good lead-to-account matching and auto-conversion solution is required to start to get a better handle on your database.

Unfortunately, most companies don’t have $10,000+ a year to spend on a solution, which is why we’re making our product free.

Our hope is that by making this product free that more B2B companies will be able to embrace account-based marketing and sales to build more scalable and more predictable sales pipeline.

Free Download: Align.ly Lead-to-Account Matching and Auto-Convert for Salesforce

If you have questions, feel free to email me directly at andrew@align.ly.

– Andrew Nadeau