Hi Joost,
I am sorry to hear that, I was in a similar situation as well and I know this can be very frustrating.
Let me explain what happens normally on the default order received page that GTM4WP needs in order to track everything.
GTM4WP uses several so called conditional tags of WooCommerce in order to ask WooCommerce what kind of page is currently viewed by the user. This is checked on ALL page loads, including the order received page and if everything goes well, on your Clickfunnel page as well.
One of these conditional tags is is_order_received_page(). I would say it is quite straightforward how it works:
* a page loads
* GTM4WP loads (besides other plugins)
* GTM4WP asks WooCommerce: “hey, is this the order received page?”
* WooCommerce answers: “yes buddy, the user is just viewing the order received page”
* GTM4WP dumps the purchase data into the data layer
When you insert something into the flow, like an up-sell page, GTM4WP will ask WooCommerce again, but by default, WooCommerce will answer “no, this is something else, not the order received page”
Here comes the trick: 3rd party plugins, like Clickfunnel can hook into the flows of WooCommerce. There is a hook called woocommerce_is_order_received_page that can override what WooCommerce would tell other plugins about the currently viewed page. This should be used by 3rd party plugins like Clickfunnel in order for other plugins to work.
If used correctly, the above conversaion will go like this:
* a page loads
* GTM4WP loads (besides other plugins)
* GTM4WP asks WooCommerce: “hey, is this the order received page?”
* WooCommerce answers: “no, this is not…”
* Clickfunnel say: “wait, wait, it IS, I swear”
* WooCommerce says: “well, OK, then yes, this is the order received page”
* GTM4WP dumps the purchase data into the data layer
This is just one part that needs to be handled in the 3rd party plugin.
After that conversaion GTM4WP will also try to read the “order-received”, “key” and “order” variables from the URL that is part of the default order received page.
So if Clickfunnel can also have these parameters, everything will be fine.
This will ONLY work if the inserted page of Clickfunnel is loading inside WordPress. If they show the user a page that is generated by a completely different system, this will not work at all ??
Other way around GTM4WP could directly check if Clickfunnel is being used and loaded but in this case there are some open questions:
* what about other plugins also checking the order received page?
* should all other plugins adapt to plugins like Clickfunnel or such plugins should adapt to WooCommerce in order to other WooCommerce related plugins to work?
If anyone from Clickfunnel reads this: I am NOT telling that Clickfunnel is a piece of garbage, I will quite sure their code base is well established and maintained. Perhaps just this one info about that WooCommerce hook was missing or they already did some other steps to make sure this will work in the future.