Registrar mb_recover_cart

Na sequência é necessário registrar a função de recuperação de carrinhos do Universal Tracker, o mb_recover_cart. Esse registro deve ocorrer antes da inserção do Integration Hub Flowbiz.

Desse modo, recomendamos a adição dele como um dos primeiros itens na lista de scripts do GTM, ou a sua adição direta dentro de uma tag script no head.

O método mb_recover_cart é chamado pelo Universal Tracker quando uma recuperação de carrinho deve ocorrer em sua plataforma.
Ex: O usuário recebe um email e clica no link "recuperar carrinho". Ele é direcionado para a sua plataforma e após o carregamento do Universal Tracker, o método mb_recover_cart é chamado. Esse método definido por você deve, então, pegar os dados do carrinho a ser recuperado (recebido por argumento) e de fato fazer a recuperação.

O script fornecido abaixo é um exemplo e deve ser modificado de modo a integrar os dados fornecidos pelo Universal Tracker de volta com a sua plataforma, recuperando o carrinho abandonado que é fornecido.

Script de exemplo de registro do mb_recover_cart:

(function (m, a) {
    if (m[a]) { return; }
    m[a] = function (arg) {
        var cartId = arg.cart_id;
        var userId = arg.user_id;
        var products = arg.products;
      
        // eg: recover cart trough an API
        var response = await fetch("https://example.com/cart", {
          method: "POST",
          body: JSON.stringify(products.map((p) => p.sku));
        });
          
        products.forEach(function (product) {
            var productId = product.product_id;
            var sku = product.sku;
            var quantity = product.quantity;
            var recoveryProperties = product.recovery_properties;
          
            // eg: add products to cart trough helper function
            example.addToCart(productId, sku, quantity, recoveryProperties.someData)
        });
    };
})(window, 'mb_recover_cart');

Schema do único argumento fornecido:

{
    cart_id: string,
    user_id: string,
    products: [
        {
            product_id: string,
            sku: string,
            quantity: number,
            recovery_properties: {
                { [key: string]: string }
            }
        }
    ]
}
🚧

Atenção

A propriedade recovery_properties é definida pelo seu envio de eventos.

Você define o seu conteúdo: o valor retornado é o mesmo enviado na propriedade de mesmo nome, dentro dos produtos, nos eventos productView, cartSync e addToCart.

🚧

Atenção

A recuperação de carrinho ocorrerá na URL de sua escolha. Caso você não defina uma URL, as recuperações acontecerão na home do seu e-commerce (não recomendado).

Recomendamos definir uma URL de recuperação que seja leve e de rápido carregamento, assim como uma que mostre os produtos recuperados para o usuário ou já o coloque no fluxo de finalização de pedido. Geralmente é utilizada a URL de carrinho.

Para definir a URL de recuperação, você deve enviá-la na seguinte chamada de evento:
mb_track('setRecoveryUrl', 'https://google.com') Recomendamos fixar essa chamada de evento logo após Registrar mb_track.