How are activity mapped to companies?

Mikkel Settnes Updated by Mikkel Settnes

Company objects in Dreamdata are created from:

Source integration like Hubspot, Salesforce etc.

  • If the company object is changed in source integration it will change the recorded object in Dreamdata
  • CompanyId will have source integration as prefix eg. ‘hubspot-123456789’

Business email domains found

  • At least one business email is identified from the domain
  • This object is only created if events from a business domain could not be mapped to a company object from a source integration.
  • Company name will be on the form: ‘email_domain’
  • CompanyId will have prefix ‘DD_anonymous’

Activity is mapped to a company object if:
  1. The event is mapped directly in source integration.
  2. Company is identified directly through event tracking ex. group calls in analytics SDK (Dreamdata or Segment).
  3. Email domain of the event matches a unique company domain. (if multiple companies have same domain the activity will not be associated with either)
  4. Reverse IP lookup / Intent data for the event matches a unique company domain.

The process of mapping activity to the different type of company objects are outlined in the diagram below

This process ensures that if activity can be linked to a business domain, it will be linked to a company object within Dreamdata. Objects from source integrations are always preferred when linking activity.

Mapping to primary CRM: Company/Account objects from other systems are mapped to the primary CRM object if possible. Ex. Salesforce is set as primary CRM and the same company exists in Hubspot. If a link can be made between the two, Dreamdata will merge the two objects and give it the ID corresponding to Salesforce (= the primary CRM)


  • Why do I see multiple company objects with the same domain? 
  • Why do Dreamdata create an additional company object for a domain, when I already have a company object with that domain? 

If the CRM contains multiple company/account objects with the same domain, Dreamdata cannot determine which object should be linked to the activity. 

In this case, Dreamdata will create a company object with the ID prefix ‘DD_anonymous’ and link the activity from the duplicated domain to this object. This ensures that all activity from a business domain is always connected to a company object, even if domains are duplicated in source CRM.

If the duplications in the CRM are cleaned up - so a company object has a unique domain -, Dreamdata will automatically remap the activity from this domain to this CRM company/account object.

How did we do?


Roles and Permissions