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

Meta faturou R$ 158 milhões com contas falsas no Facebook, diz levantamento

Dado Ruvic/Reuters
Imagem: Dado Ruvic/Reuters

Abinoan Santiago

Colaboração para Tilt, em Florianópolis

24/06/2022 13h24

Em cerca de quatro anos, a Meta faturou US$ 30,3 milhões (R$ 158 milhões, na conversão direta e sem impostos) com receita de publicidade no Facebook a partir de contas falsas ou perfis que violaram as regras da rede social. É o que aponta um levantamento realizado pela revista Wired, focada em tecnologia, inovação e negócios, publicado hoje (24) em seu site.

Segundo a reportagem, esse montante foi gerado entre julho de 2018 e abril de 2022, e parte dos perfis espalhava desinformações. O montante gerado envolve contas removidas pelo próprio Facebook por comportamento inautêntico coordenado, ou CIB, na sigla em inglês.

Os valores pagos pelos anúncios, mesmo que tenham sido feitos por contas banidas posteriormente, não é devolvido pelo Facebook, afirmou Margarita Franklin, chefe de segurança da Meta, à Wired.

A executiva acrescentou que nem todo o faturamento desse período se deu por publicidades que violaram as regras do Facebook. O que aconteceu foi que as contas responsáveis por eles foram banidas por comportamentos inautênticos.

O Facebook considera CIB o uso de contas falsas ou duplicadas com a intenção de aumentar a audiência ou engajar o público em determinado tema. A documentação de perfis enquadrados nisso acontece desde 2018 pela Meta.

A partir de 2021, contudo, a empresa também ou a relatar o que chamou de "dano social coordenado", que são perfis reais, mas que espalham desinformação. "Entendemos o CIB como esforços coordenados para manipular o debate público para um fim estratégico, onde as contas falsas são centrais para a operação", explica o Facebook em seu site.

Segundo os dados apresentados pelo site norte-americano, a maioria dos perfis que o Facebook identificou como CIB era da Rússia.

Além disso, dos US$ 30,3 milhões faturados por contas inautênticas, mais de US$ 22 milhões (R$ 115 milhões na conversão direta) eram de sete perfis, sendo que o maior desembolso se deu em uma campanha de US$ 9,5 milhões (R$ 49,7 milhões) feita pelo Epoch Times, site ligado a grupos de extrema direita anti-China e religioso do EUA.

Segundo o Wired, de 134 anúncios pagos e removidos de perfis inautênticos, 56% focaram no público estadunidense. 31% eram destinados a usuários de outros países e 12% buscavam ambos os públicos.

Estados Unidos, Ucrânia e México foram os alvos mais frequentes de direcionamento das publicidades pagas pelos perfis banidos

Falta de transparência

"Uma tática que tem sido usada com mais frequência, pelo menos desde 2016, não são bots, mas pessoas reais que saem e publicam coisas", disse Sarah Kay Wiley, pesquisadora do Tow Center for Digital Journalism da Columbia University, em entrevista à Wired.

Para ela, os dados apresentados reforçam ainda mais que a operacionalização das redes sociais da Meta não é transparente com seus usuários. "Esta é a ponta do iceberg? Infelizmente, acho que sim."

Por outro lado, a Meta diz que compartilhou as mesmas informações com entidades reguladoras.

"Nos últimos cinco anos, compartilhamos informações sobre mais de 150 operações de influência secreta que removemos por violar nossa política de comportamento inautêntico coordenado. A transparência é uma ferramenta importante para combater esse comportamento e continuaremos a agir e relatar publicamente", afirmou Nathaniel Gleicher, chefe da segurança da Meta.