PPC
1696933802

Как да изтеглим данни от Facebook в Google Sheets?

В наши дни умелото анализиране на данни може да е ключов фактор за успеха на бизнеса или проекта. Рекламни платформи като Facebook предоставят широк набор от метрики, чрез които може да анализирате представянето на кампаниите и рекламите.

От друга страна, инструменти като Google Analytics 4 предлагат детайлен анализ на поведението на потребителите на уеб сайта или приложението. Съчетаването на данните от тези две платформи обаче може да бъде голямо предизвикателство, особено ако не сте сигурни как точно да трансферирате и обработите данните между тях.

С тази статия целим да ви покажем стъпка по стъпка изтеглянето на данни от Facebook, импортирането и обработването им в Google Sheets, а накрая импортирането на необходимата информацията в Google Analytics 4. По този начин вие ще може да анализиране резултатите от кампаниите на едно място.

Стъпки за тегленето на данни от Facebook в Google sheets и тяхното филтриране:

  1. Създаване на Facebook App и генериране на токен.
  2. Теглене на данните със скрипт в Google Sheets.
  3. Бонус - филтриране на данните по кампании за Google Analytics 4.

Как да теглим данни от Facebook в Google Sheets

Създаване на Facebook App и генериране на токен

1. Отворете Facebook Business Manager. В главното меню намерете секцията “App”.

Ще откриете бутон с надпис “add”. Натиснете го и изберете опцията “create a new app ID”.

Създаване на Facebook App и генериране на токен

Важно: уверете се, че имате администраторски права. Това е задължително, за да може успешно да създадете ново приложение.

2. Изберете “Other” като тип на приложението.

Изберете “Other” като тип на приложението.

3. При появата на допълнителни опции избирате “Business” като вид на приложението.

При появата на допълнителни опции избирате “Business” като вид на приложението

4. Дайте име на приложението и натиснете бутона за създаване.

Дайте име на приложението и натиснете бутона за създаване.

5. Свързване с активи: в Business Manager свържете приложението с рекламния акаунт, от който искате да теглите данни. След това преминете към “App Dashboard”.

Свързване с активи: в Business Manager, свържете приложението с рекламния акаунт, от който искате да теглите данни. След това, преминете към “App Dashboard”.

6. Разширете функционалността на приложението, като добавите към него “Marketing API”.

Разширете функционалността на приложението, като добавите към него “Marketing API”

7. След добавянето на “Marketing API” пред вас ще се появи ново меню “Tools”. Оттук може да генерирате необходимия токен за работа.

След добавянето на “Marketing API”, пред вас ще се появи ново меню – “Tools”. Оттук може да генерирате необходимия токен за работа.

Теглене на данните със скрипт в Google Sheets

Кодът, който предстои да видите, предоставя възможността да изтеглите рекламни данни и да ги визуализирате в Google Sheets, благодарение на токена, който генерирахме в предходната стъпка.

Той се добавя към работната таблица, като влезете в Extensions > App Scripts.

Теглене на данните със скрипт в Google Sheets.

Кодът, който предстои да видите, предоставя възможността за теглене на рекламни данни и тяхната визуализация  в Google Sheets

Теглена на данни с помощта на токена, който генерирахме в предходната стъпка.

Добавяме кода: 

const SPREADSHEET_URL = SpreadsheetApp.getActive().getUrl();
const ss = SpreadsheetApp.openByUrl(SPREADSHEET_URL);

// Тук се поставя ID-то на акаунта от който искаме да теглим данни
const AD_ACCOUNT_ID = 'ID НА АКАУНТА';

// Тук се поставя стойността на генерирания токен
const TOKEN = 'СТОЙНОСТ НА ТОКЕНА';

// Настройки спрямо данните, които искаме да изтеглим
const LEVEL = 'campaign';
const START_DATE = '2023-01-01';
const END_DATE = '2023-12-31';
const FIELDS = 'campaign_id,campaign_name,impressions,clicks,spend';

function requestFBReport() {
   const facebookUrl = `https://graph.facebook.com/v16.0/act_${AD_ACCOUNT_ID}/insights?level=${LEVEL}&fields=${FIELDS}&time_increment=1&time_range={'since':'${START_DATE}','until':'${END_DATE}'}&access_token=${TOKEN}`;
  Logger.log(facebookUrl)
  const encodedFacebookUrl = encodeURI(facebookUrl);
  const options = {
    'method': 'post'
  };
  const fetchRequest = UrlFetchApp.fetch(encodedFacebookUrl, options);
  const results = JSON.parse(fetchRequest.getContentText());
  const reportId = results.report_run_id;
  const cache = CacheService.getScriptCache();
  const cached = cache.get('campaign-report-id');
  if (cached != null) {
    cache.put('campaign-report-id', [], 1);
    Utilities.sleep(1001);
    cache.put('campaign-report-id', reportId, 21600);
  } else {
    cache.put('campaign-report-id', reportId, 21600);
  };
  Logger.log(cache.get('campaign-report-id'));
  return reportId
}
// Име на листа, в който да отидат изтеглените данни
var TAB_NAME = 'FB_cost_RAW_Data'


function FBReport() {
  var sheet = ss.getSheetByName(TAB_NAME);

  // В какъв обхват от колони да трие и заменя данните
  sheet.getRange('A:G').clearContent();
    const reportId = requestFBReport();
    Utilities.sleep(30000);
   const url = `https://www.facebook.com/ads/ads_insights/export_report?report_run_id=${reportId}&format=csv&access_token=${TOKEN}`;
  var fetchRequest = UrlFetchApp.fetch(url);
  const results = Utilities.parseCsv(fetchRequest);
      sheet.getRange(1, 1, results.length, results[0].length).setValues(results);
     var timeZone = 'GMT+3';
  date = Utilities.formatDate(new Date(), timeZone, "MM-dd-yyyy | HH:mm:ss");
  '04-11-2023 | 14:25:57';
}

1. Влизате в рекламния акаунт и копирате ID-то от URL адреса:

1.Влизаме в нашия рекламен акаунт и си копираме ID-то от URL адреса:

Трябва да замените плейсхолдера 'ID НА АКАУНТА' с копираното ID, като запазите единичните кавички:

 // Тук се поставя ID-то на акаунта от който искаме да теглим данни
const AD_ACCOUNT_ID = 'ID НА АКАУНТА';

2. Токен от Facebook Marketing API: генерирайте и копирайте вашия токен от Facebook Marketing API и след това го заменете на мястото на 'СТОЙНОСТ НА ТОКЕНА':

// Тук се поставя стойността на генерирания токен
const TOKEN = 'СТОЙНОСТ НА ТОКЕНА';

3. Настройка на параметрите: можете да персонализирате данните, които искате да изтеглите, като модифицирате константите. Ако се чудите какви други параметри можете да използвате, разгледайте официалната документация на Facebook.

// Настройки спрямо данните, които искаме да изтеглим
const LEVEL = 'campaign';
const START_DATE = '2023-01-01';
const END_DATE = '2023-12-31';
const FIELDS = 'campaign_id,campaign_name,impressions,clicks,spend';

4. Избор на лист: посочете в кой лист искате да бъдат визуализирани данните:

// Име на листа, в който да отидат изтеглените данни
var TAB_NAME = 'FB_cost_RAW_Data'

5. Бъдете внимателни и настройте обхвата на колоните правилно, като съобразите зададените параметри:

Бъдете внимателни и настройте обхвата на колоните правилно, като съобразите зададените параметри

// В какъв обхват от колони да трие и заменя данните
  sheet.getRange('A:G').clearContent();

Важно уточнение: всеки път, когато стартирате скрипта, старите данни ще бъдат изтрити и новите ще бъдат вкарани спрямо датата, която сте задали.

Бонус: стъпки за филтриране на данните по кампании и техния импорт в Google Analytics 4 

Бонус - стъпки за филтриране на данните по кампании и техния импорт в Google Analytics 4

1. Стартиране на скрипта:

  • сменете функцията от “requestFBReport” на “FBReport”;
  • натиснете “Run”;

Стартиране на скрипта

  • в нашия случай данните са изтеглени в шийт “FB_cost_RAW_Data“.

2. Проверка на изтеглените данни:

  • влезте в шийт “FB_cost_RAW_Data“;
  • там ще откриете следната информация:

Проверка на изтеглените данни.

3. Филтриране на кампании:

Често нашите клиентите пускат свои кампании в акаунтите, което налага тяхното филтриране.

За да следите ефективността само на вашите реклами, използвайте втори лист.

С филтъра извадете данни само за кампании, съдържащи вашето отличително наименование. В нашия случай използваме “NP” или “netpeak” в името:

Филтриране на кампании

4. Именуване на колоните:

Именувайте колоните в листа: Date - Campaign_id - Campaign_name - Impressions - Clicks - Cost USD (спрямо валутата на акаунта) - Cost BGN - source - medium.

5. Формула за филтриране:

В клетка A2 добавете следната формула:

=FILTER(FB_cost_RAW_Data!B2:G, REGEXMATCH(LOWER(FB_cost_RAW_Data!D2:D), "(netpeak|np)"))

6. Конвертиране на валута:

При импорт на данните в GA4 e важно валутата да съответства с тази от нашата Google Analytics собственост – BGN (лева).

Конвертирайте валутата от вашия Facebook Ads акаунт в лева със следната формула:

=IFError(INDEX(GOOGLEFINANCE("CURRENCY:USDBGN", "close", A2), 2, 2)*F2,"")

В примера формулата взема предвид курса на долара към лева за съответната дата - колона А.

7. Последното, което трябва да направите, за да довършите филтрирането и да имате данни готови за импорт в GA4, е да добавите стойности на “source” и “medium”. Може да използвате различни стойности в зависимост от това как отчитате данните от вашите кампании. В примера ще използваме най-разпространения вариант – източник “facebook” и носител “cpc”.

=IF(F2<>"", "facebook", "")

=IF(F2<>"", "cpc", "")

Накрая в третия лист “FB_Cost_Import” трябва да си извадим само нужните за импорт данни за GA4.

Това става с формула за прехвърляне на данни от един лист в друг. Нужни са ни дата, ID на кампанията, име на кампанията, импресии, кликове, разход (BGN), източник и носител:

=FB_Cost_NP_Data!A2
=FB_Cost_NP_Data!B2
=FB_Cost_NP_Data!C2
=FB_Cost_NP_Data!D2
=FB_Cost_NP_Data!E2
=FB_Cost_NP_Data!G2
=FB_Cost_NP_Data!H2
=FB_Cost_NP_Data!I2

След като прехвърлите първия ред с данни, маркирайте реда и го издърпайте до края на листа, за да прехвърлите всички данни от лист 1 в лист 2:

След като прехвърлите първия ред с данни маркирайте реда и го издърпайте до края на листа, за да прехвърлите всички данни от лист 1 в лист 2.

Следвайки горните стъпки вие ще получите готови данни за импорт в Google Analytics 4.

Следвайки горните стъпки внимателно, ще получите данни, готови за импорт в Google Analytics 4.

Заключение

Вече натрупахте достатъчно полезна информация, за да можете да адаптирате Facebook скрипта спрямо вашите индивидуални нужди и бизнес цели. В крайна сметка вашият успех в дигиталния маркетинг зависи не само от качеството на вашите данни, но и от начина, по който ги интерпретирате и анализирате. 

В крайна сметка, вашият успех в дигиталния маркетинг зависи не само от качеството на вашите данни, но и от начина, по който ги интерпретирате и анализирате

10
0
0
Открихте грешка? Маркирайте я и натиснете Ctrl + Enter.