;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Logo Pagbenk Seu dinheiro rende mais
Topo

Fernando Machado, do Burger King: Ideias criativas sem zoeira não têm graça

Renato Pezzotti

Colaboração para o UOL, em São Paulo

04/03/2021 04h01

O Burger King tem um extenso histórico de provocações ao Mc Donald's, um de seus principais concorrentes. Para Fernando Machado, chefe de marketing do BK, as brincadeiras fazem parte do marketing da marca.

"Se as ideias criativas não tiverem zoeira, não têm graça. A gente faz piada, mas tem que aceitar também. Não sou contra falar da concorrência, mas isso tem que ser feito com respeito", diz o executivo.

Fernando foi o entrevistado desta semana do podcast Mídia e Marketing, do UOL. A partir deste episódio, o 74º do programa, as entrevistas também serão exibidas em vídeo - veja acima, na íntegra.

Radicado em Miami, ele comenta sobre as diferenças de trabalhar com publicidade nos Estados Unidos e no Brasil, fala das três variáveis de competitividade no setor de fast food (sabor, conveniência e preço), e de como o uso do humor tem sido uma ferramenta chave para o marketing e o engajamento da marca.

"O humor sempre ajuda - não só em publicidade, mas na vida. Hoje, as pessoas já entendem que o Burger King faz coisas divertidas. Criamos isso com o tempo. Mas sempre precisamos levar o contexto em consideração. Não podemos fazer piada para colocar as pessoas pra baixo. A gente tem que dar risada da gente mesmo e isso gera muita empatia", afirma (no arquivo acima, este trecho está a partir de 5:20).

O executivo ainda destaca a importância do delivery para a rede. "Para crescer no delivery, temos que ter bons preços e temos que estar disponíveis o tempo todo. Além disso, com os dados que temos, conseguimos fazer uma promoção mais relevante para cada consumidor. O desafio é oferecer melhores coisas para cada um", afirma (a partir de 14:06).

Sanduíche mofado como publicidade

Fernando também falou sobre a campanha 'Whopper Mofado', lançada em fevereiro do ano ado. O comercial mostrava a decomposição do principal sanduíche da rede após 34 dias. Ao final do filme, o lanche aparecia coberto de mofo, com a mensagem: "A beleza sem conservantes artificiais".

"Transparência e honestidade são tópicos que só vão ganhar mais força no mundo. Essa campanha quebra a rega de publicidade. Ao mesmo tempo, as pessoas sabem que a beleza de um produto real, de um alimento de verdade, é apodrecer. A gente mostrou isso. As pessoas entendem. É brutalmente honesto", declara Fernando (a partir de 2:01).