Good question indeed! Facing the same issue right now.
Hello @nmcgowan80,
CartFlows does not integrate directly with third-party plugins. Instead, CartFlows operates on top of WooCommerce, and third-party plugins typically integrate with WooCommerce. There isn’t a way to directly integrate a shortcode on a CartFlows page to integrate the Tapfiliate plugin.
To assist you further, we need more information on how you use the Tapfiliate plugin. Does it need to be called by a URL or another method for it to track information? Providing additional details, preferably with a screen recording, would help us better understand your requirements and provide you with an accurate solution.
We look forward to hearing from you and assisting you further.
Hi Shravan,
thx for the answer.
Tapfiliate has a wordpress plugin which integrates with woocommerce.: https://wordpress.org/plugins/tapfiliate/
The integration happens by placing a specific tracking code into the thank you page. Now as cartflows overrides the standard thank you page of woocommerce i guess this is the issue (here: is_order_received_page). At least one of it. The other is probably that cartflows uses other variable names like ‘wcf-key‘ instead of just ‘key‘
Here a Video of how the plugin works: https://tapfiliate.com/docs/integrations/woocommerce/
down you see one php code of the tapfiliate plugin (tapfiliate/woocommerce/tracking_code.php)
<?php
if (!defined('ABSPATH')) {
exit; // Exit if accessed directly
}
function tapfiliate_render_woocommerce_code()
{
$is_converting = false;
$external_id_arg = null;
$amount_arg = null;
$options = [];
$is_customer_only = false;
$is_conversion_multi = false;
$commission_type = null;
$use_woo_customer_id_for_lifetime = "on" === get_option('tap_wc_use_woo_customer_id_for_lifetime');
$customer_type = null;
if (function_exists("is_order_received_page") && is_order_received_page() && isset($GLOBALS['order-received'])) {
$is_converting = true;
$isWoo3 = tapfiliate_is_woo3();
$order_id = apply_filters('woocommerce_thankyou_order_id', absint($GLOBALS['order-received']));
$order_key = apply_filters('woocommerce_thankyou_order_key', empty($_GET['key']) ? '' : wc_clean($_GET['key']));
if ($order_id <= 0) return;
$order = new WC_Order($order_id);
$order_key_check = $isWoo3 ? $order->get_order_key() : $order->order_key;
if ($order_key_check !== $order_key) return;
$containsSubscription = tapfiliate_has_woo_subscriptions() && wcs_order_contains_subscription($order_id);
$options["meta_data"] = tapfiliate_woocommerce_get_metadata_for_order($order);
$discount = $order->get_total_discount();
$commissions = tapfiliate_woocommerce_get_commissions_for_order($order, $discount);
// Check if we have multiple commission types
$unique_commission_types = array_unique(array_column($commissions, 'commission_type'));
$is_conversion_multi = count($unique_commission_types) > 1;
// Get commission type if single commission type
$commission_type = count($unique_commission_types) === 1 ? $unique_commission_types[0] : "default";
// Get Customer Id
if($use_woo_customer_id_for_lifetime) {
$customerId = resolve_customer_id($order);
} else {
$customerId = $order->get_billing_email();
}
// Set options
if ($coupons = $order->get_coupon_codes()) {
$options['coupons'] = array_values($coupons);
}
if ($customerId) {
$options['customer_id'] = $customerId;
}
if ($currency = $order->get_currency()) {
$options['currency'] = $currency;
}
$external_id_arg = $isWoo3 ? $order->get_id() : $order->id;
$amount_arg = $order->get_subtotal() - $discount;
$is_customer_only = $containsSubscription && $amount_arg === 0.00;
$customer_type = $is_customer_only ? 'trial' : 'customer';
}
$script = tapfiliate_generate_inline_code($is_converting, $is_customer_only, $customer_type, $external_id_arg, $amount_arg, $options, $commission_type, $is_conversion_multi ? $commissions : [], "woocommerce", false);
wp_add_inline_script("tapfiliate-js", $script);
}
Here the developer docs: https://tapfiliate.com/docs/
Thank you @bhshravankumar
@secondsky100 pretty much summed up how Tapfiliate is integrated. I also integrate tapfiliate primarily with coupons. I have coupon codes assigned to all of my affiliates and when they are used by a customer during checkout, Tapfiliate automatically creates a conversion and assigns it to the appropriate affiliate. This has worked flawlessly for 2+ years for me until I recently upgraded to Cartflows. I’ve tried to use Zapier as a workaround but can’t figure out the right workflow. So I’m stuck with 2 great solutions that don’t work together.
https://tapfiliate.com/docs/integrations/wordpress/?utm_source=wordpress&utm_medium=webapp&utm_campaign=integration
Hello @nmcgowan80,
Thank you for providing detailed information. As this support forum is specifically for the CartFlows free plugin, it’s important to note that CartFlows may not be compatible with all plugins available in the WordPress ecosystem. I will forward your request for Tapfiliate integration to our internal team for review. They will assess its priority and feasibility for implementation.
Hope this helps.