april 24, 2017

Gør din shop klar til Facebooks dynamiske annoncer

Facebook har en feature, der hedder “dynamic ads”. Ganske kort går det ud på, at en kunde er forbi din webshop. Facebook opsamler information om, hvilke varer kunden ser. Næste gang hun er på Facebook eller Instagram, så er der på magisk vis reklamer for netop de produkter hun så i din shop.

Ren magi, ikke? 🙂

Nuvel – vi har allieret os med Halfdan Timm fra Obsidian her for at guide dig igennem, hvordan du får det sat op. Halfdann sidder dagligt med Facebook marketing og har også skrevet en bog om emnet.

Du skal bruge fem ting:

1) En Facebook pixel på din side (læs her hvordan du sætter den ind). Det er gratis og det bør du gøre allerede i dag, så du begynder at indsamle data til Facebook.

2) Et produktfeed med alle dine produkter (det skal ind i Facebook, så de kender alle dine produkter)

3) Et “viewcontent” på dine produktsider. Vi skal fortælle Facebook, når kunden har set et produkt.

4) En event, der bliver skudt af til Facebook, når din kunde smider en vare i kurven.

5) En konverterings-event, så Facebook ved, hvornår en kunde har konveteret.

Det er ca. dét – lad os komme i gang.

Pkt. 1 er der taget hånd om

Du skal bare lige finde din Facebook pixel først. Her kan du læse, hvordan du laver en Facebook pixel.

Pkt 2. – Lav et produktfeed

Du kan egentligt bare bruge dit feed fra Google Shopping.  Men ellers er der en xml skabelon her, som du kan bruge. Den skal gemmes i dit tema som f.eks. fb-produkter.xml

<?xml version="1.0"?><rss xmlns:g="http://base.google.com/ns/1.0" version="2.0">
    <channel>
        <title>Alle varer</title>
        <link><{$landing_page->getRemoteUrl()}></link>
        <description></description>

        <{assign var="products" value=$landing_page->getProducts()}>
        <{section name="i" loop=$products}>
            <{assign var="images" value=$products[i]->getImages()}>
            <{assign var="supplier" value=$products[i]->getBrand()}>
            <item>
                <title><{$products[i]->getName()|escape}></title>
                <link><{$products[i]->getRemoteUrl()}></link>

                <g:id><{$products[i]->getProductId()}></g:id>

                <{if $products[i]->getSalePrice()}>
                    <g:price><{$products[i]->getPrice(null, null, true)|number_format:2:".":","}> DKK</g:price>
                    <g:sale_price><{$products[i]->getSalePrice(null, null, true)|number_format:2:".":","}> DKK</g:sale_price>
                <{else}>                    
                    <g:price><{$products[i]->getPrice(null, null, true)|number_format:2:".":","}> DKK</g:price>
                <{/if}>
                <g:availability>in stock</g:availability>
                <{section name="j" loop=$images max=1 start=0}>
                    <g:image_link><{$webshop->getUrl()}><{$images[j]->getSrc(800,800, 'fit')}></g:image_link>
                <{/section}>

                <g:condition>new</g:condition>

                <{assign var=hovedkat value=$products[i]->getMainCategory()}>
                <{if $hovedkat}>
                    <{if $hovedkat->getMetaValue('g:google_product_category')}>
                        <g:google_product_category><{$hovedkat->getMetaValue('g:google_product_category')}></g:google_product_category>
                    <{/if}>
                <{/if}>

                <{if $products[i]->hasVariants()}>
                    <{assign var="profile" value=$products[i]->getProfile()}>
                    <{assign var="attr" value=$profile->getAttributeList()}>

                    <{section name="h" loop=$attr}>
                        <{if $attr[h]->getDataType() == "valuelist"}>

                            <{assign var="values" value=$attr[h]->getValues()}>
                            <{assign var="tempgtin" value=0}>
                            <{section name="k" loop=$values}>
                                <{if $tempgtin == 0}>
                                    <{if $products[i]->getInStock($attr[h]->getAttributeId(), $values[k]->getAttributeValueId()) > 0}>
                                        <g:gtin><{$products[i]->getGtin($values[k]->getAttributeValueId(),$attr[h]->getAttributeId())}></g:gtin>
                                        <{assign var="tempgtin" value=1}>
                                    <{/if}>
                                <{/if}>
                            <{/section}>

                        <{/if}>
                    <{/section}>

                <{else}>                
                    <g:gtin><{$products[i]->getGtin()}></g:gtin>                
                <{/if}>
                <{if $supplier}>
                    <g:brand><{$supplier->getName()}></g:brand>
                <{/if}>

                <g:product_type></g:product_type>
            </item>
        <{/section}>
    </channel>
</rss>

Nu opretter du en landingsside med alle de produkter du vil have i feedet (skal det bare være dem alle, kan du vælge "pris større end 0" som regel.

Du indsætter fb-produkter.xml i “eget feed”-feltet.

Pkt. 3 – viewcontent

Det er ret simpelt. Vi skal bare skyde lidt kode af, så Facebook kan se, at kunden har set en vare. Så denne kode skal ind på product.html

<script> _fbq.push('track', 'ViewContent', {content_ids: ['<{$product->getProductId()}>'], content_type: 'product'}); </script>

Nemt ikke?

Pkt. 4 – registrere, når der er lagt en vare i kurven

Det er en lille bitte stump kode, der skal på din læg i kurv-knap. Den ser sådan ud

<input type="submit" name="submit" value="Læg i kurv" id="submit"  onclick="fbq('track', 'AddToCart', {content_ids: ['<{$product->getProductId()}>'], content_type: 'product'}); "/>

Det er jo kun “onclick”-delen du skal have tilføjet.

Pkt. 5 – registrere salg

Det er også supernemt. Denne kode skal ind på din thanks.html side (eller ecommerce_tracking.html – det er en smagssag)

<script type="text/javascript">
        fbq('track', 'Purchase', {value: '<{$order->getPrice()|number_format:2:".":""}>', currency: 'DKK'});
    </script>

Så er du så godt som i mål.

Nu kan du gå i Facebook og oprette dine dynamiske annoncer.

 

Ét svar til “Gør din shop klar til Facebooks dynamiske annoncer”

  1. Lars Skjoldby siger:

    Hey

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.