Aasta Meediategu 2016 uuringupõhise kategooria võitja: Kaubamaja e-pood

Võitjad auhinda vastu võtmas
Võitjad auhinda vastu võtmas

Töö Kaubamaja e-poe lansseerimiseks eeldas terviklikku lähenemist. Lisaks tehnilisele valmisolekule, mida sai testida erinevate kampaaniapõhiste pop-up poodidega, oli vaja teada saada, kuidas tarbija jõuab üldse ostudeni internetis, millistest kanalitest eelkõige infot otsitakse ning kes ikkagi on põhiline netis ostleja.

Kategooria: Consumer Insight
Kampaania nimi: Kaubamaja E-pood
Klient: Tallinna Kaubamaja
Agentuur: Inspired Universal McCann
Loovagentuur: Utopia


Meediastrateegia:

Kuna Kaubamaja e-poe eesmärk on pakkuda oma klientidele laiemat ostmisvõimalust, mitte niivõrd kolida oma müüki internetti, siis eeltöö tähtsus pidi ära näitama lisaks ostmisharjumustele ka selle, milliseid kaupu tarbija internetist eelkõige ostab ning mil määral seda preshopping-kanalina kasutab.

Uuringud:

Turuletuleku ettevalmistamisfaasis kasutati palju Kantar Emori andmeid nii konkurentide analüüsi ning nende meediategevuste osas. Eriuuringuna viidi aga läbi Shopline-uuring (internetipõhine CAWI uuring Eesti elanike seas vanuses 18-74 eluaastat, kokku 1 000 vastajat), saamaks aru tarbijate ostukäitumismudelist internetiostude puhul ning kust saadakse või otsitakse Kaubamaja jaoks oluliste tootegruppide kohta informatsiooni.

Uuringust selgus, et üle poole vastajatest (64%) on viimase kolme kuu jooksul (vastamise hetkel) sooritanud ostu internetist. Nendest 26% moodustasid kuni 30-aastased ning 2/3 olid alla 50-aastased. Tallinna Kaubamaja jaoks tähtsates kategooriates (ilu-ja kosmeetikakaubad, riided, kodusisustus, mänguasjad, jalanõud ja toidukaubad) sooritati oste valdavalt Eesti internetipoodidest. See andis kinnitust, et valmisolek Kaubamaja e-poe kasutamiseks on turul olemas. Meediastrateegia kohalt oli aga oluline teada ka seda, kuidas inimene ostuni jõuab ning millele ta oma valikutes tugineb. Selgus, et kõikide Kaubamaja kategooriate lõikes on füüsiline pood ostukohana endiselt kõige olulisem, kuid paljude kaupade puhul alustatakse oma ostuteekonda just internetist info otsimisega.

Meediastrateegia seisukohalt said lisaks Shopline uuringule oluliseks ka pärast kampaania kevadist avapauku läbiviidud järeluuring, mis pidi kinnitama valitud kanalite ja sõnumite töötamist, ning 2016 sügisel läbiviidud Shopline 2.0 uuring. Järeluuring andis esmase kindluse, et valitud sõnum ja meedialiigid töötavad. Värske Shopline 2.0 uuring aga näitas, et valmisolek internetist oste sooritada on erinevate kategooriate lõikes jätkuvalt suur ning informatsiooni otsimisel on endiselt kõige suurem roll mängida otsimootoritel.

Püsitegevuste puhul sai kõige olulisemaks tööriistaks Google Analytics, mis andis tagasisidet kõikide e-kaubanduse tegevuste kohta, võimaldas optimeerida nii Google Adwordsi kui ka kampaaniapõhiste bännerite mahtusid. Kliendile koostatud järjepidevad raportid lõid aluse interneti bännerpindade valikul kampaaniates läbi terve aasta. Analüüs näitas, et kuust kuusse suudeti pindade optimeerimisega ka tulemusi järk-järgult parandada.

Teostus:

Kampaania meediastrateegia ehitati üles kahele sambale: kampaaniapõhised tegevused erinevates massimeediakanalites ning püsitegevused veebis, mida sidus ühtne kujundusstiil ning sõnum – “Osta nii nagu sulle sobib”.

Aasta lõikes kasutati telet, välimeediat, raadiot, internetti ja printi nii e-poe sõnumi edastamiseks kui ka selle tutvustamiseks. Püsitegevusteks kujunesid aasta jooksul Google Adwords ja Facebooki re-targeting bännerid. Välimeedias oli olulisel kohal sõnum erinevatel formaatidel (kasutati bussipeatusi, valgusvitriine ja JCDecaux Premium-formaate) ja nende varieerumine vastavalt asukohale. Välimeediat kasutati esmakordselt ka väljaspool Tallinna, sh suvises Pärnu rannas.

Online püsitegevusteks seadistati põhjalik Google Adwordsi struktuur, mida pidevalt aasta ja kampaaniate lõikes optimeeriti. Lisaks paisati aasta jooksul üles Facebooki sotsiaalmeedia re-targeting bännerid. Karusellformaadis bännereid kuvati Facebooki uudisvoos neile, kes olid külastanud kaubamaja e-poodi, kuid jätnud ostu sooritamise mingil põhjusel pooleli. Koostöös Delfiga töötati välja ka sitehat erilahendus, mida varasemalt sellisel kujul Eestis kasutatud ei ole. Näidis

Kampaania näidis
Kampaania näidis

Sihtrühm:

Kuna Kaubamaja eesmärk ei ole kindlasti kolida oma müügisaali internetti, siis pigem peab e-poest saama lisavõimalus neile, kes elavad Tallinnast kaugemal, hindavad mugavust ja valikuvabadust. Samuti oli oluline kõnetada nooremat (vanuses kuni 35) sihtrühma. Kõikide Kaubamaja klientide seas kasvas 2016. aastal kõige enam noorem vanuserühm (kuni 25 eluaastat), selliseid kliente oli 2016. aastal 8% rohkem kui 2015. aastal. E-pood mängis olulist rolli ka nende klientide osas, kes füüsilistes müügimajades (Tallinn, Tartu) oste ei sooritanud, küll aga tegid oma ostud e-poest – kokku 15% e-poest ostnutest.

Tulemused:

Võrreldes varasemate pop-up veebipoodidega (Osturalli ja jõulukingituste e-pood) on müügikasv 4,5-kordne.

Kaubamaja e-poes on müüdud üle 56 000 toote.

Kaubamaja e-poodi on külastatud 2,1 miljonit korda.

Kaubamaja käibe kasv 2016. aastal koos füüsiliste majadega ja e-poega oli +1,6%.

Kaubamaja e-poe käive 2016. vs 2015. aastal, kui avatud olid kampaaniapoed, kasvas 24,2%.

E-poele seatud eesmärgid said ületatud: käibeplaani täitmine +9%, tuluplaani täitmine +35%.

Jõulukampaania e-pood vs 2015. aastal avatud e-kingipood tulemus kasvas käibes 1130%.

Eesti Kaubanduskeskuste uuringus on Kaubamaja spontaanne tuntus aastate kõrgeim (kasv 40%-lt 44%-le).

Britta Ratas, Tallinna Kaubamaja turundusjuht:

“Kaubamaja e-poe lansseerimine tähendas seda, et Kaubamaja on nüüd kõikjal ja Kaubamajast on nüüd võimalik osta, kus iganes sa viibid. See eeldas laiapõhjalist ATL meediakasutust, et jõuda võimalikult paljude inimesteni võimalikult lühikese ajaga üle Eesti ja tekitada neis eelkõige huvi külastada Kaubamaja uut e-poodi. Kombineerides TV, märgatavad ja käidavad kohad välimeedias (katvus Eesti suuremates linnades lisaks tavapärasele Tallinna ja Tartu meediakasutusele), jõulise veebimeedia ning lisaks Kaubamaja enda korraldatud suure pressiürituse IMAX kinos, sisuturunduse Kaubamaja ajakirjas HOOAEG, majasisesed ja -välised uuendatud materjalid, täitis kõik see oma eesmärki. Seatud külastuste, käibe ja müüdud toodete tase ületati. Kliendid on e-poe omaks võtnud nii ostukohana kui preshoppinguna Kaubamajja tulekuks, seda näitavad täidetud müügieesmärgid, Kaubamaja kui ostukoha tuntuse kasv ning külastuste arvud!”

Osale arutelus

ERROR: Object template SessionInfo is missing!

Toetajad

VIGA

Meil on tehnilised probleemid. Katsume need kiirelt lahendada. Vabandame!

Palun kliki mõne aja pärast uuesti: www.aripaev.ee

Kuniks veebileht ei avane, on meil pakkuda teisi tooteid:

Infopank Äripäeva käsiraamatud Äripäeva Akadeemia Äripäeva Raamatuklubi Äripäeva veebipood

"; content = content.replace("Path not found","").replace("Permission denied","").replace(//g, ""); content = JSON.parse(content); var utmLink = "?utm_source=http://www.bestmarketing.ee&utm_medium=KuumadLood"; // ReadNext block var ReadNext = (function () { var $readNextBar = $(".js-read-next"), $readNextItems = $readNextBar.find(".js-read-next__items"), $readNextItemsContainer = $readNextBar.find(".js-read-next__container"), contentSelector = ".article-content", width = 0, height = 0, mostReadArticles = [], unreadArticles = [], currentElement = 0, numberOfElements = 24, numberOnPage = 4, maxAvailable = 24, showFirstUnlockedArticles = 2, showSecondLockedArticles = 2, mobileSlideWidthSeen = 110, alreadyScrolling = false, currentTransition = 0, animationDuration = 600 var init = function () { // Create click handlers _setNextButtonClickHandler(); _setPrevButtonClickhandler(); _bindWidthCalculation(); ReadNext.showRecommendations(); }; var showRecommendations = function () { _calculateWidth(); $readNextItems.css("width",width); if (window.innerWidth < 768) { numberOnPage = 2; maxAvailable = 20; } else { numberOnPage = 4; maxAvailable = 20; } var readArticleIds = _getReadArticles(); unreadArticles = _.chain(mostReadArticles) .filter(function (article) { return !_.contains(readArticleIds, article.id); }) .first(maxAvailable) .value(); numberOfElements = unreadArticles.length; if (unreadArticles.length > 0) { _reaarrangeArticles(); _initElements(); _showBar(); _miscOperations(); } }; /** * If article is not too old to be in most-read box and is not already read, * add it"s id to cookie */ var addToReadArticles = function (id, date) { var readArticleIds = _getReadArticles(); if (readArticleIds.length > 64) { readArticleIds = _purgeOldIds(readArticleIds); } var readArticles = readArticleIds.join(","); if (!_isTooOld(date) && readArticles.indexOf(id) < 0) { readArticles = (readArticles.length > 0) ? readArticles + "," + id : id; createCookie("readArticles", readArticles, 2, "/", null); } }; var setArticles = function (arr) { mostReadArticles = arr; }; var isHidden = function () { var style = window.getComputedStyle($readNextBar[0]); return (style.display === 'none'); }; var _showBar = function () { $readNextBar.fadeIn(500); _detectSwipe($readNextBar, _swipeToDir); }; var _showNextPage = function () { if(alreadyScrolling) { return; } currentTransition--; alreadyScrolling = true; var $prev = $(".js-read-next__items__prev"); var $curr = $(".js-read-next__items__current"); var $next = $(".js-read-next__items__next"); $readNextItems.css({ "transform": "translate("+(currentTransition * 100)+"%)", "transition-duration": animationDuration+"ms" }); setTimeout(function() { $prev.remove(); $curr.removeClass("js-read-next__items__current").addClass("js-read-next__items__prev"); $next.removeClass("js-read-next__items__next").addClass("js-read-next__items__current"); _addNextElements((-currentTransition + 1 ) * 100 ); $readNextItems.css("transition-duration","0ms"); }, animationDuration); currentElement += numberOnPage; while(currentElement >= numberOfElements) { currentElement = (currentElement >= numberOfElements) ? (currentElement - numberOfElements) : currentElement; } _miscOperations(); }; var _showPrevPage = function () { if(alreadyScrolling) { return; } currentTransition++; alreadyScrolling = true; var $prev = $(".js-read-next__items__prev"); var $curr = $(".js-read-next__items__current"); var $next = $(".js-read-next__items__next"); $readNextItems.css({ "transform": "translate("+(currentTransition * 100)+"%)", "transition-duration": animationDuration+"ms" }); setTimeout(function() { $next.remove(); $curr.removeClass("js-read-next__items__current").addClass("js-read-next__items__next"); $prev.removeClass("js-read-next__items__prev").addClass("js-read-next__items__current"); _addPrevElements((-currentTransition - 1 ) * 100 ); $readNextItems.css("transition-duration","0ms"); }, animationDuration); currentElement -= numberOnPage; while(currentElement < 0) { currentElement = (currentElement < 0) ? (numberOfElements + currentElement) : currentElement; } _miscOperations(); }; var _miscOperations = function () { //calc the container height so it would not block the content $(".js-read-next__item").each(function() { var item = $(this); var elementHeight = item.height(); if(elementHeight > height) { height = elementHeight; $readNextItemsContainer.css("height", height); } //adding utm tags var a = item.find(".js-article-exit"); a.attr("href", a.attr("href") + utmLink); }); setTimeout(function() { //after animation enable navigation alreadyScrolling = false; }, animationDuration); }; var _initElements = function () { alreadyScrolling = true; $readNextItems.append(_getElements(0, numberOnPage).addClass("js-read-next__items__current")); _addPrevElements(-100, -numberOnPage); _addNextElements(100, numberOnPage); currentElement = 2 * numberOnPage - 1; while(currentElement >= numberOfElements) { currentElement = (currentElement >= numberOfElements) ? (currentElement - numberOfElements) : currentElement; } alreadyScrolling = false; }; var _addPrevElements = function (transition, elementIndex) { var firstElement = currentElement - 3 * numberOnPage; if(typeof elementIndex !== "undefined") { firstElement = elementIndex; } while(firstElement < 0) { firstElement = (firstElement < 0) ? (numberOfElements + firstElement) : firstElement; } var items = _getElements(firstElement, numberOnPage).addClass("js-read-next__items__prev").css("transform","translate("+transition+"%)"); $readNextItems.append(items); }; var _addNextElements = function (transition, elementIndex) { var firstElement = currentElement + 1; if(typeof elementIndex !== "undefined") { firstElement = elementIndex; } while(currentElement >= numberOfElements) { firstElement = (firstElement >= numberOfElements) ? (firstElement - numberOfElements) : firstElement; } var items = _getElements(firstElement, numberOnPage).addClass("js-read-next__items__next").css("transform","translate("+transition+"%)"); $readNextItems.append(items); }; var _addToHtml = function ($container, data) { var html = ''; $container.html($container.html() + html); }; var _getElements = function (firstElement, numberToTake) { var $itemGroup = $(''); var elementIndex = firstElement; for (var i = numberToTake; i > 0; i--) { if(elementIndex >= numberOfElements) { elementIndex = 0; } _addToHtml($itemGroup, unreadArticles[elementIndex]); elementIndex++; } return $itemGroup; }; var _bindWidthCalculation = function () { $(window).on("resize.readNext", function(){ _redefineElementWidth(); }) }; var _redefineElementWidth = function () { _calculateWidth(); $readNextBar.find(".js-read-next__items__group").css("width",width); $readNextItems.css("width",width); }; var _calculateWidth = function () { width = $readNextBar.width(); if(window.innerWidth < 768) { var padding = parseInt($readNextItemsContainer.css("padding-right")) + parseInt($readNextItemsContainer.css("padding-left")); width = window.innerWidth - padding; } }; // Article management var _getReadArticles = function () { var readArticles = decodeURIComponent(getCookie("readArticles")); var readArr = readArticles !== "null" ? readArticles.split(",") : []; return _.map(readArr, function (val) { return parseInt(val); }); }; var _purgeOldIds = function (readArticleIds) { // convert ids to integers in case they are given as strings readArticleIds = _.map(readArticleIds, function (val) { return parseInt(val); }); // get article id"s from most-read box var mostReadIds = _.pluck(mostReadArticles, "id"); return _.intersection(mostReadIds, readArticleIds); }; // Article is too old if it's date is set more than 2 days ago var _isTooOld = function (date) { var y = parseInt(date.substr(0, 4)), m = parseInt(date.substr(4, 2)) - 1, d = parseInt(date.substr(6, 2)); var expireDate = new Date(y, m, d); expireDate.setDate(expireDate.getDate() + 2); var now = new Date().setHours(0, 0, 0, 0); return expireDate < now; }; var _reaarrangeArticles = function() { var unlockedArticleCount = 0; var lockedArticlesCount = 0; for (var i = 0; i < unreadArticles.length; i++) { var article = unreadArticles[i]; if (article.lockID === "" && unlockedArticleCount < showFirstUnlockedArticles ) { unreadArticles.splice(i,1); unreadArticles.splice(unlockedArticleCount, 0, article); unlockedArticleCount++; } else if (article.lockID !== "" && lockedArticlesCount < showSecondLockedArticles) { unreadArticles.splice(i,1); unreadArticles.splice(unlockedArticleCount + lockedArticlesCount, 0, article); lockedArticlesCount++; } else if(lockedArticlesCount >= showSecondLockedArticles && unlockedArticleCount >= showFirstUnlockedArticles) { break; } } }; // Bar visibility var _getArticleContentHeight = function () { var contentParts = $(contentSelector); var contentHeight = 0; _.each(contentParts, function (content) { var height = $(content).height(); contentHeight += height; }); return contentHeight; }; var _getArticleDistanceFromTop = function () { var $firstArticlePart = $($(contentSelector)[0]); return $firstArticlePart.offset().top; }; var _getShowBarOffset = function () { var articleContentHeight = _getArticleContentHeight(), articleOffset = _getArticleDistanceFromTop(), windowHeight = $(window).height(); return articleOffset + (2 / 3 * articleContentHeight) - windowHeight; }; // Click handlers var _setNextButtonClickHandler = function () { $(document).on("click", ".js-read-next__next", _showNextPage); }; var _setPrevButtonClickhandler = function () { $(document).on("click", ".js-read-next__prev", _showPrevPage); }; var _swipeToDir = function (dir) { if (dir === "l") { _showNextPage(); } else if (dir === "r") { _showPrevPage(); } }; var _detectSwipe = function (ele,func) { var swipe = { x: 0, x1: 0, xMin:30 }; var dir = ""; var currTranInPx = width * currentTransition; ele.bind('touchstart', function(e){ var t = e.originalEvent.touches[0]; swipe.x = t.screenX; currTranInPx = width * currentTransition; }) ele.bind('touchmove', function(e){ e.preventDefault(); var t = e.originalEvent.touches[0]; swipe.x1 = t.screenX; if(swipe.x1 === 0 || alreadyScrolling) { return; } var diff = swipe.x - swipe.x1; diff = (diff > width) ? width : diff; diff = (diff < -width) ? (-width) : diff; var calculatedTransform = currTranInPx - diff; $readNextItems.css("transform","translate("+calculatedTransform+"px)"); }) ele.bind('touchend', function(e){ if (swipe.x1 === 0 || alreadyScrolling) { return; } if ((swipe.x - swipe.x1) >= swipe.xMin) { dir = "l"; } else if ((swipe.x1 - swipe.x) >= swipe.xMin) { dir = "r"; } if (dir !== "") { if(typeof func == 'function') func(dir); } else { $readNextItems.css("transform","translate("+currTranInPx+"px)"); } dir = ""; swipe.x = 0; swipe.x1 = 0; }) }; return { showRecommendations: showRecommendations, addToReadArticles: addToReadArticles, init: init, setArticles: setArticles, isHidden: isHidden }; })(); ReadNext.setArticles(content); ReadNext.init();

Jälgi Bestmarketingi sotsiaalmeedias

RSS

Toetajad

Valdkonna töökuulutused

Sirowa Tallinn otsib TOOTEJUHTI

Sirowa Tallinn AS

31. märts 2017

Rademar otsib TURUNDUSSPETSIALISTI

Rademar OÜ

31. märts 2017

KAJA

märts 2017