Contrary to what you have heard, online and offline data will not be tied in summary data source, as there is no binding dimension.
Partial data is tied in using transactionid within transaction ID data source
If you want to tie the data to the user, you need visitorID, which is mandatory in full processing data source.
Note, full processing data source is still not the same as sending data in a server call. It is the only data source where you can send in traffic and other dimensions apart from conversion dimensions like browser, user agent, referrer, etc.
I know that the problem you have mentioned, is not new, and I have seen others face this as well. It is difficult to implement cause of the way the data sources is structured, and in particular the behaviour of the product variable. I cannot guarantee a solution, but let you know of the pros and cons of the different types.
You are correct that only one product can be specified per row in transaction ID data sources, which would increase the order count.
If you must absolutely use Data sources, then you can only do it through Full processing Data sources. This is the only type that would allow you to mention multiple in a single row. However, things to keep in mind:
You need visitor ID, page URL (or page name), and mid
This is the only data source type that has cost associated. Each row is counted as a server call
You need correct timestamp config for your report suite, if you are sending in historical data.
Always test data sources in a dev report suite, before setting it up in prod.
Hi, In a data source file, you just set the products as you would do in a web implementation. There a plenty of examples here: products on how to set the product string. It's no different for a data source. If a user buys multiple product at the same time, you send that as one line as the transactionId for that user would be a unique ID. Have you started by creating a template in data source?