Yesterday I was talking with someone about their Google Analytics setup.
Since they were using a 3rd party platform to sell their product, they weren't able to get most of their funnel metrics. The platform sends some basic data to them (e.g. traffic amounts, urls) but no referal, campaign, or even traffic source data.
It's better than nothing but it'll make any kind of marketing campaign difficult to manage. They have only the aggregated first step (traffic) and no way to connect it to an order.
Shopify suffers from this problem too.
While they know a lot about each visitor, they don't put that data anywhere for apps to analyze for the store. For example, I found less than 1% of orders had any kind of attribution or referral data and much of the referral data was self-referencing (e.g. referral came from the same domain).
Luckily, Shopify does track and share the sales channel each order happens on. That's how Repeat Customer Insights is able to calculate the Acquisition Source for segmenting. But even there the data relies on the sales channel to correctly identify itself.
At the end of the data you'll never have perfect data. It'll be off by a bit and things will get mis-attributed. As long as the data is good enough to help with decision-making, it's valuable.