How to share Signals with your Sales team

Updated by Ole Dallerup

We see more and more companies moving towards a signal-based selling strategy, combining ABM, inbound, and outbound methods across marketing and sales teams.

This article will guide you through the practical steps of using Dreamdata's Audience Hub to share Signals directly with your sales team to use in outbound and inbound tactics. You'll learn how to seamlessly share ABM engagement and inbound signals directly with your sales team using a reverse ETL tool, making the process straightforward and efficient.

To follow this guide, its required that you have signed up to a Reverse ETL tool, have insights into your CRM setup.
Its required that you have setup your Dreamdata Data Warehouse and have access to it, and you need to understand a minimum level of SQL (Structured Query Language).
SQL queries in this article will require some adjustments depending what data warehouse you use.

Here is a visualisation of how you might share Signals from Dreamdata back into your CRM or Sales Enablement services.

1. Define your Signals using Dreamdata Audience Hub

First you need to define what a Signal is for you?

Within Dreamdata you have all the individual touch points and engagements a contact or company have had with your brand. You will be able to use all that data to defining your Signals. Here are some examples of Signals most companies can built using Dreamdata quite easily. The examples focus on Signals sales can use to engage with prospects. However you should build the Signals that is useful for your business, and not limit to these nor implement all listed here.

You also have to define the timeframe of when you find the Signal relevant and actionable. This could example be last 3 days, last 7 days, or longer periods such as last 30, 60 or 90 days depending on what makes sense in your situations.

Build your Audiences

Here below is a few examples how you would build the Signals using Dreamdata Audience Hub.

LinkedIn Ad Engagement last 30 days (Companies)

Viewed Pricing Page last 7 days (Contacts)

G2 Profile View last 7 days (Companies)

To understand when the data in your data warehouse updates after having build your audiences, read more here.

2. Prepare your CRM

How do you want to store the Signals in your CRM?

The most common ways is to use Picklist (multi-select) also sometimes called a Multiple Checkbox (HubSpot). Depending on your use-case there might be better alternatives. However rest of this guide it will assume you are using a Picklist.

Create at least one field within your CRM on the account or contact object depending what type of Signals you are looking to use before moving on.

3. Querying the Data Warehouse for Signals

Now that you have created a few audiences, we need to query your Data Warehouse to get the Signals out at account or contact level.

The query below, select all companies within an audience that starts with "Signals -" and where the company is within your CRM. The assumption is that you named the audience some like "Signals - MySignal". This way its easy to see difference between your Signal Audiences and the Audiences you might use for other purposes. It also ensures a person without SQL skills is able to create new Signals within Dreamdata without having to correct query or Reverse ETL tool.

The query then select the company/account id from your CRM, while it aggregates all the signals into one string separating each signal with ;. Depending on your CRM and implementation, you might need to structure the Signals string different.

SELECT
REGEXP_REPLACE(unifiedCompanyId, 'hubspot-|sfdc-|pipedrive-|ms-dynamics-', '') AS crm_account_id,
STRING_AGG( DISTINCT
CASE
WHEN a.name LIKE 'Signals - %' THEN REPLACE(a.name, 'Signals - ', '')
ELSE NULL
END
, ';'
ORDER BY
CASE
WHEN a.name LIKE 'Signals - %' THEN REPLACE(a.name, 'Signals - ', '')
ELSE NULL
END
) AS signals,
FROM
`companies` AS c
INNER JOIN
UNNEST (audiences) AS a
WHERE
a.name LIKE ANY ('Signals - %' )
AND is_from_primary_crm = TRUE
GROUP BY
unifiedCompanyId

Here is a similar query that selects signals at contact level instead.

SELECT
email,
STRING_AGG( DISTINCT
CASE
WHEN a.name LIKE 'Signals - %' THEN REPLACE(a.name, 'Signals - ', '')
ELSE NULL
END
, ';'
ORDER BY
CASE
WHEN a.name LIKE 'Signals - %' THEN REPLACE(a.name, 'Signals - ', '')
ELSE NULL
END
) AS signals
FROM
`contacts` AS c
INNER JOIN
UNNEST (audiences) AS a
WHERE
a.name LIKE ANY ( 'Signals - %' )
GROUP BY
email

4. Sending the data to your CRM

Now that you have found all companies and contacts with Signals using the above SQL queries you are ready to send them to your CRM using your Reverse ETL tool.

Using the queries from (3) you should built Models/Datasets within the Reverse ETL tool first. If you have not already make sure to connect your CRM as a destination within the Reverse ETL tool.

Here below is a couple of exampels how you might setup a Sync with your CRM. This examples are done using Hightouch, but would be very similar using any of the other Revese ETL tools.

Salesforce Accounts

Select the Account Object, and Update. We know that the accounts are all in your CRM as the query from (3) only selected accounts that are within your CRM. If you want to create accounts based on companies not in your CRM you might want to read this article for more information.

Select the account id to match with the Salesforce ID, and select your Signal fields.

You can of course sync more fields if you want, example Industry, Session count or Engagement Score that are all directly available within Dreamdata.

Select "Clear fields that are being synced to in the Salesforce record, but do not delete." to ensure your Signal fields will get reset as the Signal is not fresh anymore to your definition.

HubSpot Contacts

Select Contact Object, and Upsert (if you want to create contacts not already in your CRM) or Update (if you want to only update existing contacts).

Select email address to match the record, and select the Signal fields you have created.

If you have other fields you would like to sync from Dreamdata to your CRM such as last seen, role, session count or similar.

Select "Clear fields that are being synced to in HubSpot record, but do not delete." to ensure your signals field will get reset as the Signal is not fresh anymore to your definition.

5. Sales Enablement tools

If you are using a Sales Enablement tool such as Outreach, Salesloft or Amplemarket you have properly already integrated your CRM with your Sales Enablement tool. Therefor you can use your new Signals to improve the personalisation in your sequences or help you select the right target account or contact.

Using high intent Signals in your outbound strategy combined with an ABM strategy example using Dreamdata LinkedIn Matched Audiences and Google Ads Customer Match to target the right accounts and contacts you are on the right path to aligning Sales and Marketing efforts better together.


How did we do?