Our business is a media/content brand with an e-comm store.
Our site has a lot of editorial, over 75,000 pieces of content - articles, photos, etc that are critical to our business/brand.
Our ecomm store sells both single purchase merchandise, as well as subscriptions to our paywalled content. We need a unified user login for both the content experience and the store.
We are built headless, Hydrogen, Sanity CMS.
We run into the usual headless vs themed debate and can’t get to the bottom of it. Currently, our headless site is creating challenges with ad-tracking. We spend most of our ad budget on Meta, and we don’t get the right data back, or the data in a right way. We are looking at solutions like Elevar to address.
My question is, given the content necessity of our site and login, is headless the right path for us? Or does Shopify themes address this?
Headless is powerful, especially for a media-heavy site like yours, but it comes with trade-offs—tracking, integrations, and maintenance can be more complex compared to a traditional Shopify theme.
If your biggest struggle is ad tracking and data flow, that’s something Shopify’s native themes handle better because Shopify’s checkout, login, and tracking are fully integrated. You might lose some flexibility in design, but tracking with Meta and other platforms will be more accurate.
That said, sticking with headless isn’t necessarily wrong—you just need a better setup for ad attribution. Tools like Elevar, Triple Whale, or Segment can help bridge the gap. But if the trade-offs are becoming too painful and your e-comm side is growing, you might want to consider moving your store back into a Shopify theme while keeping your editorial content on a separate CMS like Sanity.
At the end of the day, headless is great for control and flexibility, but if it’s hurting your business more than helping, it might not be worth it. If tracking is a major issue and you don’t need the extreme customization headless provides, going back to a Shopify theme might make life easier while keeping your content side separate.