For our clients we usually build a custom dataLayer through Custom Pixels, to use with GTM. We do however have a few clients who use Elevar and Analyzify.
You can build a quite nice direct integration via a Custom Pixel or you can go the GTM route.
Building the integration manually / custom will however not be cheaper than Analyzify’s one-time fee.
If you decide to set it up server side, we’d be able to do it cheaper than Analyzify.