Google Ads Scripts
Raport de performanță automatizat
Cum funcționează?
Acest script automatizează generarea unui raport detaliat al costurilor campaniilor active din Google Ads. Include bugetul, costurile, conversiile, cost/conversie și rata de conversie pentru fiecare campanie activă. Datele sunt extrase automat și trimise prin email într-un tabel formatat profesional.
Caracteristici Cheie
✅ Actualizare automată a perioadei de raportare
• Scriptul identifică automat începutul lunii curente (01/MM/YYYY) și data curentă.
• Nu necesită modificare manuală a datei lunare.
✅ Include metrice esențiale pentru fiecare campanie activă
• Cost total (RON)
• Buget alocat per campanie (RON)
• Numărul total de conversii
• Cost/conversie (RON)
• Rată de conversie (%)
✅ Raport formatat într-un tabel HTML profesional
• Datele sunt trimise prin email într-un tabel organizat și ușor de citit.
• Se afișează totalurile pentru costuri, buget și performanța conversiilor.
✅ Filtrare avansată a campaniilor active
• Scriptul selectează doar campaniile active (ENABLED), evitând erorile din campaniile inactive sau oprite.
✅ Automatizare completă
• Poate fi programat să ruleze zilnic, săptămânal sau lunar.
• Funcționează direct din Google Ads Scripts, fără nevoie de aplicații externe.
⚙️ Cum funcționează tehnic scriptul?
1️⃣ Identifică perioada de raportare automat
‣ Determină prima zi a lunii curente (YYYY-MM-01).
‣ Preia data curentă (YYYY-MM-DD).
2️⃣ Rulează un Query GAQL pentru a extrage datele
‣ Selectează doar campaniile active (ENABLED).
‣ Extrage costurile, bugetele, conversiile și rata de conversie.
3️⃣ Procesează datele și calculează metricele cheie
‣ Cost total și buget total
‣ Cost/conversie și rata de conversie (%)
4️⃣ Generează un tabel HTML formatat
‣ Organizează datele campaniilor într-un tabel clar și ușor de citit.
5️⃣ Trimite raportul prin email
‣ Expeditor: contact@encorem.ro
‣ Destinatar: Configurat automat în RECIPIENT_EMAIL.
Image tabel HTML:

Script Google Ads:
const RECIPIENT_EMAIL = "contact@encorem.ro";
function main() {
const startDate = getFirstDayOfCurrentMonth(); // Data de început - 01 a lunii curente
const endDate = getCurrentDate(); // Data curentă
const activeCampaignData = calculateActiveCampaignData(startDate, endDate);
if (activeCampaignData.length > 0) {
sendFormattedEmail(RECIPIENT_EMAIL, activeCampaignData, startDate, endDate);
} else {
Logger.log("Nu s-au înregistrat costuri pentru campaniile active în perioada selectată.");
}
}
// Funcție pentru a obține începutul lunii curente (01/MM/YYYY)
function getFirstDayOfCurrentMonth() {
const today = new Date();
const year = today.getFullYear();
const month = String(today.getMonth() + 1).padStart(2, "0");
return `${year}-${month}-01`;
}
// Funcție pentru a obține data curentă în format YYYY-MM-DD
function getCurrentDate() {
const today = new Date();
const year = today.getFullYear();
const month = String(today.getMonth() + 1).padStart(2, "0");
const day = String(today.getDate()).padStart(2, "0");
return `${year}-${month}-${day}`;
}
// Funcție pentru calcularea datelor per campanie activă
function calculateActiveCampaignData(startDate, endDate) {
const query = `
SELECT
campaign.name,
campaign.status,
metrics.cost_micros,
campaign_budget.amount_micros,
metrics.conversions,
metrics.conversions_value
FROM
campaign
WHERE
segments.date BETWEEN '${startDate}' AND '${endDate}'
AND campaign.status = 'ENABLED'
`;
const report = AdsApp.report(query);
const rows = report.rows();
const campaignData = [];
while (rows.hasNext()) {
const row = rows.next();
const campaignName = row["campaign.name"];
const costMicros = parseFloat(row["metrics.cost_micros"]);
const budgetMicros = parseFloat(row["campaign_budget.amount_micros"]);
const conversions = parseFloat(row["metrics.conversions"]) || 0;
const conversionValue = parseFloat(row["metrics.conversions_value"]) || 0;
const cost = costMicros / 1e6; // Convertim din micros în moneda standard
const budget = budgetMicros / 1e6; // Convertim din micros în moneda standard
const costPerConversion = conversions > 0 ? cost / conversions : 0; // Cost per conversie
const conversionRate = conversions > 0 ? (conversions / cost) * 100 : 0; // Rată de conversie
campaignData.push({ campaignName, cost, budget, conversions, costPerConversion, conversionRate });
}
Logger.log(`Datele pentru campaniile active de la ${startDate} până la ${endDate}:`);
campaignData.forEach(c =>
Logger.log(`${c.campaignName}: Cost ${c.cost.toFixed(2)} RON, Buget ${c.budget.toFixed(2)} RON, Conversii ${c.conversions.toFixed(2)}, Cost/Conversie ${c.costPerConversion.toFixed(2)} RON, Rată de conversie ${c.conversionRate.toFixed(2)}%`)
);
return campaignData;
}
// Funcție pentru trimiterea emailului formatat
function sendFormattedEmail(email, campaignData, startDate, endDate) {
const subject = `Raport cost total`;
// Calculăm totalurile
const totalCost = campaignData.reduce((sum, c) => sum + c.cost, 0);
const totalBudget = campaignData.reduce((sum, c) => sum + c.budget, 0);
const totalConversions = campaignData.reduce((sum, c) => sum + c.conversions, 0);
const totalCostPerConversion = totalConversions > 0 ? totalCost / totalConversions : 0;
const totalConversionRate = totalConversions > 0 ? (totalConversions / totalCost) * 100 : 0;
let body = `
Raport Costuri Campanii Active
Costurile totale pentru campaniile active din perioada ${startDate} - ${endDate} sunt:
Campanie
Cost (RON)
Buget (RON)
Conversii
Cost/Conversie (RON)
Rată Conversie (%)
`;
campaignData.forEach(c => {
body += `
${c.campaignName}
${c.cost.toFixed(2)}
${c.budget.toFixed(2)}
${c.conversions.toFixed(2)}
${c.costPerConversion.toFixed(2)}
${c.conversionRate.toFixed(2)}
`;
});
body += `
Total
${totalCost.toFixed(2)}
${totalBudget.toFixed(2)}
${totalConversions.toFixed(2)}
${totalCostPerConversion.toFixed(2)}
${totalConversionRate.toFixed(2)}
© encorem.ro
Raport generat automat.
`;
MailApp.sendEmail({
to: email,
subject: subject,
htmlBody: body
});
Logger.log(`Email trimis către ${email} cu detaliile costurilor pentru campaniile active.`);
}
Cum să Implementezi Scriptul
- Navighează la interfața Google Ads.
- Mergi la “Instrumente și Setări” (pictograma cheii) în colțul din dreapta sus.
- Sub “Acțiuni în masă”, selectează “Scripturi”.
- Click pe butonul albastru plus pentru a crea un nou script.
- Copiază și lipeste scriptul furnizat în editor.
- Autorizează scriptul să acceseze contul tău Google Ads urmând instrucțiunile.
- Salvează și previzualizează scriptul pentru a te asigura că rulează corect.
- Programează scriptul să ruleze zilnic pentru a menține actualizați parametrii personalizați.
Script dezvoltat de Encorem.ro
Articole recente
- Google March 2025 Core Update: Ce Se Întâmplă cu Algoritmul și Cum Te Poate Afecta March 21, 2025
- GHID AVANSAT SEO: AI, SOCIAL MEDIA ȘI VIITORUL OPTIMIZĂRII February 15, 2025
- Actualizari Google Ads pentru Lead Generation in 2025 February 15, 2025
- Cum să revitalizezi un brand în 2025: Studiu de caz Duolingo February 13, 2025
- Studiu de Caz: Reclama Pepsi cu Kendall Jenner February 13, 2025