;(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

Podcast

Mídia e Marketing

Entrevistas com grandes nomes do marketing, propaganda e criatividade no país


Mídia e Marketing #190: Marcia Esteves, CEO da Lew'Lara\TBWA e presidente da Abap

Renato Pezzotti

Colaboração para o UOL, em Piracicaba (SP)

24/06/2024 14h00

Publicidade e cultura popular sempre se misturaram. A digitalização mudou isso? As agências de propaganda estão se adaptando rapidamente às mudanças?

O episódio #190 de Mídia e Marketing entrevista Marcia Esteves, CEO da Lew'Lara\TBWA e presidente da ABAP, a associação brasileira das agências de publicidade -veja, acima, a entrevista na íntegra.

Sobre o que mais ela falou

Marcia também fala sobre a fragmentação da mídia, comenta a relevância de festivais de publicidade, como o Cannes Lions, e comenta as recentes mudanças na ABAP. "Estamos em um grande esforço para sermos mais diversos e presentes no Brasil todo. Temos que ampliar a presença de pessoas que venham de todos os segmentos da comunicação. O papel da associação é fortalecer todo o ecossistema publicitário, que é uma potência".

Confira outros destaques:

Segundo dados do CENP, há um investimento de R$ 23 bilhões em mídia, além da geração de mais de 400 mil empregos, direta e indiretamente. O mercado publicitário brasileiro é uma potência.
a partir de 1:49

Há uma necessidade de uma transformação mais rápida com a digitalização. Se o papel da publicidade era educar, no começo do século XX, nos anos 1990, as marcas aram a ser religião, integravam e uniam as pessoas. Agora, com a digitalização, as comunidades aram a se autodesenvolver dentro dessas grandes comunidades. As marcas precisam pedir licença para entrar nesse debate.
a partir de 4:35

Uma das categorias do festival de Cannes aborda a transformação dos negócios das empresas a partir da criatividade, o potencial da comunicação em alavancar negócios e servir a sociedade. Um exemplo é a construção e transformação de marca de Mastercard, uma plataforma de 20 anos que ajudou a fazer a marca mais valiosa do mundo.
a partir de 8:45

Em certo momento, criatividade e construção de marca deixou de ter relevância para alguns anunciantes. Mas, hoje, comprovadamente, em momentos de crise, a criatividade é a solução. O oposto de instabilidade é criatividade: ela voltou 'pra moda' porque gera resultados de negócios.
a partir de 12:25

O processo de criação se tornou mais complexo, precisamos ter mais especialistas com tantas demandas e ferramentas, e-commerce, dados, insights, performance. Para nós, dentro da agência, é uma mudança de cultura. A inteligência coletiva constrói soma muito mais, precisamos abraçar essa mudança.
a partir de 15:59

Na Abap, temos o esforço para ser mais diversos, presentes no Brasil todo. A ampliação da presença de pessoas que venham de todos os segmentos da comunicação serve para fortalecer todo o ecossistema publicitário.
a partir de 19:33

A discussões precisam voltar a ser sobre construção de marca. Construímos marcas fortes e duradouras a partir da criatividade, mas isso tem que ter uma visão maior. Fico muito feliz que o mercado está voltando para isso, não só pelo que vimos no festival de Cannes, mas quando vemos as empresas celebrando ganho de posições nos rankings de marcas mais valiosas, por exemplo. Isso é o nosso trabalho.
a partir de 28:50

Os podcasts do UOL estão disponíveis em uol.com.br/podcasts e em todas as plataformas de distribuição. Você pode ouvir Mídia e Marketing, por exemplo, no Spotify, na Apple Podcasts e no YouTube.