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

Conheça o Draftline, estúdio de conteúdo da Ambev

Estúdio usou foto de Anitta durante bloco de carnaval - Reprodução
Estúdio usou foto de Anitta durante bloco de carnaval Imagem: Reprodução

Renato Pezzotti

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

10/06/2019 04h00

Em funcionamento desde o começo deste ano, o Draftline é uma nova forma de a Ambev trabalhar a comunicação de suas marcas nas redes sociais.

O estúdio de conteúdo atua nos perfis de oito marcas da empresa: Brahma, Budweiser, Corona, Fusion (energético), Guaraná Antarctica, Skol, Stella Artois e água Tônica Antarctica.

São feitas publicações quase diárias no Twitter, Facebook e Instagram de cada uma delas, além de diferentes atuações na ferramenta de busca do Google.

"Nosso trabalho é complementar aos das agências de publicidade", afirmou Felipe Meretti, diretor de conteúdo do Draftline.

A intenção, segundo ele, é se aproximar do público de uma forma natural e criativa. "Aqui, nós descemos um degrau para falar lado a lado com os consumidores. Puxamos uma cadeira e sentamos nas mesas, no meio das conversas, sempre preocupados com timing e contexto", declarou.

Interações em assuntos do dia a dia e que geraram memes nas redes sociais, são comuns. Este ano, produtora utilizou brincadeiras publicadas nas redes sociais para falar do lançamento de Skol Puro Malte:

Equipe mescla funcionários e agências

O primeiro projeto do Draftline, ainda de forma experimental, aconteceu durante a Copa do Mundo da Rússia, em julho do ano ado.

Após o torneio, a estrutura foi montada mesclando profissionais da Ambev e das agências Mutato e Soko. Todos atuam dentro de um mesmo escritório.

A equipe brasileira possui cerca de 45 colaboradores, com diferentes perfis: jornalistas, publicitários, produtores de moda e até matemáticos.

Os times são multifuncionais, com diretores de arte, redatores, gerentes de comunidades online ("community manager", em inglês) e analistas de redes sociais (em funções como "social listening" e "social responding").

Reunião de pauta diária e aprovação pelo WhatsApp

A equipe é dividida em quatro "squads" (pelotões, em inglês): dois exclusivos para Brahma e Skol, um que cuida das marcas de cerveja internacionais (Budweiser, Corona e Stella Artois) e outro que toma conta de bebidas não alcoólicas (Fusion, Guaraná e Tônica).

As equipes se reúnem todos os dias pela manhã e fazem uma grande reunião de pauta. "Todo o processo é pensado como o do mundo editorial. Temos as reuniões de pauta, analisamos os assuntos mais quentes e inserimos nosso ponto de vista em cima de alguns deles", disse Meretti.

Segundo o executivo, os criativos voltam para as mesas e pensam nas publicações. As aprovações, feitas pelas equipes de marketing de cada uma das marcas, quase sempre acontecem em 30 minutos, via WhatsApp.

Um dos exemplos da agilidade foi um post com a cantora Anitta, no carnaval deste ano. Entre a ideia, a aprovação e a publicação, foram menos de 30 minutos.

Há ainda uma área de inteligência de mídia, que atua de forma independente, na agência Blinks.

"O objetivo é virar um 'data driven content studio', com análise de dados em tempo real e profissionais de inteligência de mídia ao lado da criação", disse o executivo.

Estratégia começou na Colômbia

Com a abertura do estúdio por aqui, o Brasil se une a países como Estados Unidos, Austrália, México e China, outros dos dez que já possuem a estrutura pelo mundo. A Colômbia foi o primeiro país a receber a iniciativa. Atualmente, o escritório de Bogotá conta com cerca de 150 profissionais.

Nos Estados Unidos, por exemplo, o Draftline trabalha com mais de 40 marcas da AB InBev, oferecendo uma gama de serviços que inclui produção de TV, mídia exterior, e-mail marketing e mídia programática.

No Brasil, o estúdio tem sede em uma casa na zona sul de São Paulo, mas a ideia é mudar para um espaço maior no começo do segundo semestre.

Summit no Brasil

A relevância da atuação do escritório brasileiro dentro da estratégia global da companhia já tem resultado.

No final de julho, o país receberá o primeiro grande encontro dos estúdios "Draftline", que terá a presença de cerca de 80 profissionais do mundo todo.