A very common (and very reasonable) question I hear, is "how is Omnata different to Tableau/Einstein/Fivetran/Mulesoft/Workato/etc with respect to Salesforce?"
There are a few questions we have to answer along the way:
1) Operational or Analytical?
The solution varies depending on whether or not you are trying to understand or report on trends across large datasets, or whether you are looking to improve operational processes by extending the visibility and reach of the main Salesforce platform.
2) Which Salesforce cloud?
The solution varies depending on whether or not you are talking about Salesforce Marketing Cloud, or the main Salesforce Platform. The former was an acquired product with a fundamentally different backend to the latter, with a different set of products enabled for it.
3) Which direction?
The solution varies depending on whether you are wanting to move Salesforce data out into Snowflake to form part of your data warehouse, or whether you are wanting to improve your sales/marketing/service efforts by incorporating more Snowflake datasets into the Salesforce ecosystem.
Let's work through these. (updated May 21)
Operational or Analytical?
Sometimes the line appears blurry, especially as both Tableau CRM and regular Tableau support embedding into Salesforce, and can each connect to both Snowflake and Salesforce to load data. But the experience is just that - "embedded", and far from a full operational capability. They cannot integrate properly at the record level with the on-platform objects, and the external data cannot be used in process automation tools, standard list views, from Apex code, etc.
So if you want a true analytics/visualisation platform, go with either of these two - let Salesforce argue internally over which one is best for you 😃
Otherwise, read on. And we'll come back to Tableau CRM again later as part of the third question.
Which Salesforce cloud, and in which direction?
Salesforce Marketing Cloud is an acquired product (ExactTarget), with a fundamentally different database backend to regular Salesforce, with a different set of products that enable integration. The same is true for Pardot, which came across with ExactTarget.
In this section, "Salesforce" means the core CRM product, including "Service Cloud", "Sales Cloud", and the various "industry clouds" that have been built off it.
Marketing Cloud to Snowflake
If you're wanting to bring your Marketing Cloud data back into Snowflake, use an app-to-warehouse data replication tool like Fivetran, Stitch or Airbyte.
Snowflake to Marketing Cloud
If you're wanting to bring Snowflake data into Marketing Cloud to enrich your marketing campaigns, replicating data is the best option. Marketing Cloud Data Extensions are used to store external data for segmentation, scoring, and other customer attributes.
Data can be dropped via FTP which is reliable and has adequate throughput for most marketing related use cases. The API is used for automated actions like kicking off marketing campaigns. Data teams we spoke to simply provide the data and let the marketing team take over. They often build their own batch processes to drop data, however, this is not ideal. It creates an extra point of failure, maintenance and another exposure point of data and credentials.
Omnata Push can help here. It drives data loads natively from Snowflake to SFMC using SQL functions. This differs from other warehouse-to-app tools that use extract and load tasks invoked from the middle layer. Omnata doesn't keep data or credentials and Push tasks can be automated with Snowflake or integrated with dbt. The data team can centrally manage customer attributes and ensure a data silo isn't emerging in the integration layer.
Leaving Snowflake out for a second, if you want to better integrate Marketing Cloud with the rest of Salesforce (in either direction), check out the various options here.
Salesforce CRM to Snowflake
If you want to add your Salesforce data to Snowflake as part of a data warehouse, you can use an app-to-warehouse replication tool like Fivetran.
Coming soon (announced 2020) is the Einstein output connector, which provide this functionality as part of an Einstein Data Prep recipe. See a demo here.
The decision between these two options will probably come down to how widely you already use Einstein data prep or Fivetran, and of course pricing.
Snowflake to Salesforce CRM
Now, if you want to access Snowflake datasets in Salesforce CRM, Omnata works in two modes, Push and Connect.
Omnata Push is the easiest way to load data into Salesforce. It runs as a natural extension of your Snowflake data pipeline and it uses the Salesforce Bulk API.
Typically, you would do this for data that belongs on the Salesforce platform, like Accounts, Contacts and Leads, and exist in small enough quantities that your storage and API quota can handle them. A common example is pushing a single Lead score from Snowflake into an existing Lead object in Salesforce.
Contrast this to warehouse-to-app sync tools like Census or Hightouch. In this scenario, they are managed as external middleware that queries from the outside, rather than invoked from within Snowflake. They also allow a degree of data transformation, though, many data teams prefer to transform data within Snowflake.
Omnata Connect is a natural extension of the Salesforce platform. It comes as a Salesforce Connect custom adapter that runs entirely on-platform and communicates directly, in real time, to your Snowflake warehouse.
Typically, you would do this for data that is generated by other systems, relevant to the customer, but does not belong on the Salesforce platform. Particularly when there is a large amount of it, or a near real time requirement.
For more details on the differences between the two modes of operation, see https://omnata.com/how-it-works
And finally, for the visually inclined, here's a decision tree to summarise: