• Har aktivert Pixelyoursite for å handtere FB-pixel og Google analytics, og den lagrer i tillegg sporingsinfo på ordrane.

    Ser då at alle ordrar som er gjort via Vipps express blir strippa for sporingsdata som kjelde og utm-tags, mens ordrar som følger woo sin standard flyt får denne dataen uavhengig av om det er Vipps, Klarna eller kort.

    Er det noko som kan gjerast med Vipps express slik at denne dataen ikkje går tapt? UTM har blitt ein god del viktigare etter ios-oppdateringa i vår.

    Eksempel på data og manglande data kan ein sjå her:
    https://photos.app.goo.gl/EjeYdD4D9BGzFzJw8
    https://photos.app.goo.gl/xVD5VZkbruzkmceq5

Viewing 15 replies - 1 through 15 (of 19 total)
  • Plugin Author Iver Odin Kvello

    (@iverok)

    Vi skal se på saken.

    Forskjellen på vanlig checkout og hurtigkassen består i hvordan ordren opprettes (i hurtigkassen opprettes den uten at man vet noe om brukeren, mens i vanlig kasse har du navn, addresse osv). Det kan tenkes at Pixelyoursite legger til metainformasjon i ordren via filtere som bare fyrer på kassasiden. I såfall er det mulig vi kan integrere disse i hurtigkassen også.

    Thread Starter orjan.steffensen

    (@orjansteffensen)

    Takk for det.

    UTM er jo ikkje personleg info, men bare info om kor brukaren kjem frå lagra i urlen. Den går vel mest sannsynleg bort under ein vidaresending frå produktside til vipps sin server og tilbake ordre mottatt-side, så usikker på kor lett det er å ta den med seg vidare?

    Plugin Author Iver Odin Kvello

    (@iverok)

    Det er spørsmålet 🙂 men jeg antar jeg kan finne ut noe i kildekoden til Pixel-pluginen. Vi har kontrollen over retur-url som Vipps bruker; og også videresendingen derfra til “takk for din ordre”. Men hurtigkasse og vanlig virker på nøyaktig samme måte her, så det må være en ekstra bit å få på plass.

    Plugin Author Iver Odin Kvello

    (@iverok)

    Beklager at dette tar litt tid; det er veldig travelt nå. Vi har kommet så langt som å installere pixel-pluginen på en utviklingssite og skal oppdatere denne saken straks vi rekker det.

    Thread Starter orjan.steffensen

    (@orjansteffensen)

    Takk for oppdatering.

    Pluginen er veldig kjekk å ha med tanke på å sjekke data på kvar og ein ordre, men generelt kunne vi sjå at det var mye utm-data vi mista i Google analytics/Matomo før dette også, vi hadde bare ingen moglegheit til å sjå at manglande utms gjaldt bruk av Vipps hurtigkasse før installasjonen av Pixelyoursite.

    Med andre ord trur eg at manglande utms går på noko meir generelt enn pluginen og registreringen den gjer, men den kan nok kanskje gjere det enklare for dokker å jobbe i utviklingsfasen då den som sagt registrerer data per ordre.

    Plugin Author Iver Odin Kvello

    (@iverok)

    Problemet er hvis jeg forstår alt riktig at Pro-featuren som lagrer UTM-kampanjeinformasjon i ordreobjektet ikke virker på hurtigkassen?

    Grunnen til at dette skjer, er at PixelYoursite holder på UTM-informasjonen i sine egne cookies, og legger dem til på den vanlige Checkout-siden med javascript. På hurtigkassen så er man aldri innom den vanlige kassa-siden, og dermed så blir disse verdiene aldri lagret i ordren.

    Jeg ser i kildekoden at den har lagt til støtte for en annen “alternativ” kasse, men altså ikke Vipps’ hurtigkasse.

    Uheldigvis kan vi ikke endre på dette skriptet hos Pixelyoursite, og dermed har vi heller ikke tilgang på stedene der Pixelyoursite lagrer unna UTM-informasjonen.

    I utgangspunktet gjelder det altså at denne featuren med Pixelyoursite Pro dessverre ikke støtter Vipps hurtigkassen.

    Imidlertid ser vi at det antagelig går an å få PYS til å legge til informasjonen på disse ordrene også, men det innebærer å gjøre en del litt drastiske ting som vi dessverre ikke får testet, da vi ikke kjører PYS Pro.

    Hvis dere har lyst å være prøvekaniner for dette, så kan vi sende dere noe kode som burde hjelpe, men der det altså vil være noe risiko for uforutsette konsekvenser.

    Dette består i å

    – Legge til klasser på Hurtigkasse-skjermen som får den til å late som om den er “vanlig” WooCommerce checkout-side
    – Legge til et skjema på Hurtigkassesiden som later som om den er det vanlige checkout-skjemaet, bare uten felter

    Dette vil få PYS til å legge til UTM-kodene til dette skjemaet. Deretter må det

    – legges til kode som kopierer disse feltene inn i Vipps-skjemaet på samme side, og så til slutt må det
    – skrives en liten snutt som lagrer verdiene der de skal være i ordrene.

    Risikoen gjelder særlig de to første punktene, siden man ikke kan vite om en eller annen plugin vil bli forvirret av dette. Men kanskje det er verd det for dere.

    Alternativt kan dere vurdere å høre med PYS om de ønsker å gjøre dette grensesnittet programmerbart slik at det kan støtte flere “alternative” kasser enn standardkassen og edd-checkout.

    Thread Starter orjan.steffensen

    (@orjansteffensen)

    Problemet er meir generelt enn PYS som er ein ganske ny plugin eg har tatt i bruk. Før dette har vi brukt plugin: Woocommerce Google Analytis Integration frå Woocommerce, plugin: Woocommerce Matomo Analytics som sender data til Matomo Analytics, samt testa Plausible.io.

    Det som har vore tydeleg med alle saman er at vi mister utm-data på mange ordrar, men det var først med PYS at eg blei merksam på at det kan ha ein samanheng med Vipps hurtigkasse sidan PYS som einaste plugin av desse lagrar utm-data på ordrane.

    Utan at eg har peiling på kode, brukar sikkert alle nokonlunde same måte å registrere utms på slik at dette vil nok fleire andre som brukar Vipps hurtigkasse merke på analysedataen sin.

    Men uansett, vi har ei side med færre ordrar/trafikk som vi kan bruke som prøvekanin. Så er det og mogleg å lagre eigendefinerte hendingar i PYS, så har satt opp dette for å sjå om ein klarar å registrere add_to_cart i det minste for Vipps hurtigkasse. https://photos.app.goo.gl/zLqZDdnwiCx4wNSF8

    Plugin Author Iver Odin Kvello

    (@iverok)

    Det er nok en rimelig antagelse; for samtlige av disse så gjelder det at de må ta vare på UTM-data på sin egen måte for å så å “injisere” dem inn i ordrene.

    Siden mange proxyer sletter disse dataene før de kommer til serveren, så må det i praksis alt sammen gjøres med javascript som manipuler selve kassasidens’ <form>-element. De vil da gjøre det litt forskjellig for hver enkelt løsning.

    For at disse skal virke 100% med hurtigkassen så hadde de måttet lagt til støtte for denne eksplisitt (som PYS har gjort med denne edd-løsningen); eller så må hurtigkassen sette i gang og late som om den er hoved-kassen.

    Problemet med det siste er at det er vanskelig å forutsi hvordan det kommer til å virke for en gitt plugin, siden det er så mange av dem. Hvis en av dem da skaper et problem, så blir hurtigkassen mindre kompatibel istedetfor mer.

    Når det gjelder add_to_cart så er problemet anderledes: Det er kun at knappen har andre klasser enn den vanlige “Legg til i handlekurv”-knappen. Den må altså trackes separat. Jeg mener å huske at PYS lar deg konfigurere hva den regner som en “add_to_cart”-event, så det bør ikke kreve noe ekstra av pluginen.

    Når det gjelder støtte for å lagre UTM i ordren ved hurtigkasse så kommer jeg tilbake med mer info om det når det er klart.

    Plugin Author Iver Odin Kvello

    (@iverok)

    Hei,

    Beklager at dette har tatt litt tid, men her er en plugin med den eksperimentelle støtten jeg snakket om. Du kan lagre denne direkte i wp-content/plugins og aktivere den, eller legge inn innholdet av fila i functions.php i ditt child-theme. For at dette skal virke må du antagelig kreve at bruker skal godta vilkår og betingelser på hurtigkassesiden – ellers er det ikke sikkert PYS vil rekke å oppdatere feltene.

    Det pluginen gjør er å late som om den er en vanlig Woocommerce checkout-side, slik at PYS legger til UTM-feltene sine. Dette blir så lagt til ordren av et filter som kjører så tidlig som mulig. I mine simuleringer så blir da UTM-data opprettet i ordre på akkurat samme måte som for en vanlig ordre.

    Hvis dette fungerer for dere så kan vi antagelig lage en litt mer solid støtte for det innebygget i pluginen; men vi får dessverre ikke testet dette grundig nok selv helt ennå.

    <?php
    /**
     * Plugin Name: Vipps Express Checkout add PixelyoursitePro support
     * Description: Legg til støtte for UTM-registering i ordre på hurtigkassen
     * Version: 1.0
     */
    
    if ( ! defined( 'ABSPATH' ) ) {
        exit;
    }
    
    // First, add the woocommerce-checkout class to the Vipps Express Checkout page(s)
    add_action('woo_vipps_express_checkout_page', function () {
        add_filter('body_class', function ($classes) {
            $classes[] = 'woocommerce-checkout';
            return $classes;
        },90, 1);
    });
    
    // Then add a *second* checkout form that PYS will find on that page
    add_action('woo_vipps_express_checkout_orderspec_form', function($productinfo) {
        // End the real form
        echo "</form>\n";
        // Add an empty fake form that PYS knows about. It will be closed by the plugin.
        echo "<form class='woocommerce-checkout'>\n";
    }, 99);
    
    // When creating the Express checkout order, be sure to read and store the PYS fields
    add_action('woo_vipps_ajax_do_express_checkout', function ($orderid) {
            $pysData = [];
            $pysData['pys_landing'] = isset($_REQUEST['pys_landing']) ? sanitize_text_field($_REQUEST['pys_landing']) : "";
            $pysData['pys_source'] = isset($_REQUEST['pys_source']) ? sanitize_text_field($_REQUEST['pys_source']) : "";
            $pysData['pys_utm'] = isset($_REQUEST['pys_utm']) ? sanitize_text_field($_REQUEST['pys_utm']) : "";
            $pysData['pys_browser_time'] = isset($_REQUEST['pys_browser_time']) ? sanitize_text_field($_REQUEST['pys_browser_time']) : "";
            update_post_meta($orderid,"pys_enrich_data",$pysData);
    });
    
    // Then, add javascript that will copy the fields set by PYS to the Vipps Express Checkout form
    add_action('wp_head', function () {
    ?>
    <script>
    jQuery(document).ready(function () {
            wp.hooks.addFilter('vippsValidateExpressCheckoutForm', 'vipps', function (ok) {
                    let vippsform = jQuery('#vippsdata');
                    jQuery('form.woocommerce-checkout input').each(function () {
                        vippsform.append(jQuery(this));
                    });
                    return ok;
                    }, 10);
    });
    </script>
    <?php
    });
    Plugin Author Iver Odin Kvello

    (@iverok)

    BTW så kan det godt tenkes dette vil virke for de andre pluginene også; om ingenting eksploderer. De vil formodentlig virke på ganske lik måte som PYS, da det ikke er så mange andre måter å gjøre det på.

    Thread Starter orjan.steffensen

    (@orjansteffensen)

    Takk skal du ha. Har testa det, og det ser ut til å fungere akkurat som det skal. Aktiverer det no på alle sidene, og tar litt stikkprøver i morgon.

    Plugin Author Iver Odin Kvello

    (@iverok)

    Godt å høre – veldig fint om dere kan teste dette for oss.

    Det som er mest “bekymringsfullt” med denne måten å gjøre det på, er at hurtigkasse-siden på denne måten ikke er helt ærlig om hvem den er; og *potensielt* kan det føre til at javascript-baserte plugins kan prøve å gjøre ting med den som ikke vil virke. Men jo bedre testet det er, jo lettere vil det være å legge det til som standard eller som “opsjon”.

    Thread Starter orjan.steffensen

    (@orjansteffensen)

    Vi har fått rapport om ein kunde som har blitt registrert med eit anna produkt enn det ho la til handlekorg. Det høyrest jo ut som caching. Undersøker no om det er fleire kundar som har fått feil produkt.

    Opplevde dette i august også. Då måtte eg aktivere Vipps kompabilitetsmodus for å hindre det, men den funksjonen har vore slått av i lengre tid no, utan at det har skapt trøbbel.

    Ein annan ting som er verd å nemne er at eg oppdaterte Vipps-pluginen til nyaste versjon i går. Men det kan sjølvsagt vere urelatert også.

    Plugin Author Iver Odin Kvello

    (@iverok)

    Det er nok urelatert. Det skal være ganske få sjanser til å cache en hurtigkasseisde (den bruker ajax og POST, samt nocache-headere for selve siden, og en nonce i tilllegg). Den vanlige kassen likeså.

    Jeg er ikke sikker på hva du mener med “registrert med et annet produkt”, er det da snakk om UTM-logging i ordren eller noe annet?

    Thread Starter orjan.steffensen

    (@orjansteffensen)

    Meinte at kunde seier at ho har bestilt produkt A, men blir registrert med produkt B. Vi har ikkje fått fleire rapporter om dette, så det hinter til brukarfeil. Har ein grei nok mengde ordrar om dagen til at fleire burde ha oppdaga det.

    Ein anna ting: UTM blir jo no registrert i PYS ved hjelp av koden, men har gjort eit par stikkprøver i Google Analytics, og det ser ikkje ut som dataen blir vidareformidla der.

    Eksempel:
    På ordren i Woo står det no på ein ordre:
    utm_source: tiktok
    utm_medium: sparkad

    På same ordrenummer i GA står det:
    utm_source: api.vipps.no
    utm_medium: referral

    Får også opp unknown/direct som alternativ.

    Antar eigentleg at dette er noko eg bør ta vidare med PYS-utviklar.

Viewing 15 replies - 1 through 15 (of 19 total)
  • The topic ‘Vipps express mister utm-data’ is closed to new replies.