FREE SEO EBOOK Într-o eră digitală în continuă evoluție, succesul online al oricărei afaceri sau proiect depinde în mare măsură de vizibilitatea sa în motoarele de căutare. Search Engine Optimization (SEO) nu mai este doar o simplă tactică, ci o componentă esențială a unei strategii de marketing digital cuprinzătoare. De la înțelegerea și utilizarea corectă a cuvintelor cheie, până la adoptarea celor mai recente inovații în inteligența artificială, acest eBook îți oferă toate instrumentele și cunoștințele necesare pentru a naviga în peisajul complex al SEO. Completează formularul de mai jos cu datele corect și vei primi acces gratuit la eBook-ul nostru de 32 de pagini pentru SEO. Acest ghid a fost conceput pentru a acoperi nu doar fundamentele SEO, ci și pentru a explora în profunzime strategiile avansate care pot transforma prezența ta online. Fie că ești un începător dornic să înțeleagă bazele, sau un profesionist experimentat în căutarea unor perspective noi, acest eBook îți va furniza informații valoroase și sfaturi practice pentru a-ți îmbunătăți performanța în motoarele de căutare. De la optimizarea pentru căutările vocale și mobile, la utilizarea eficientă a datelor structurate și a inteligenței artificiale, vei descoperi cum să îți adaptezi strategia pentru a răspunde nevoilor și așteptărilor utilizatorilor moderni. În plus, vom explora cum să creezi conținut evergreen, să construiești backlink-uri de calitate și să optimizezi paginile de produs pentru a domina rezultatele căutărilor în sectorul e-commerce. Pentru întrebări sau sugestii ne poți contacta aici! Contactează-ne!
Month: <span>August 2024</span>
Google Ads Scripts Raportare automată pe mail [RO] Cum funcționează? Acest script automatizează procesul de generare a rapoartelor de performanță, precum costurile, conversiile și numele campaniilor Google Ads, pe diverse intervale de timp și trimite aceste rapoarte prin email sub formă de tabele HTML bine structurate. Este un instrument util pentru monitorizarea eficientă a campaniilor de marketing și pentru menținerea echipei informate în mod regulat. [EN] How does it work? This script automates the process of generating performance reports, such as costs, conversions, and campaign names for Google Ads campaigns over various time intervals, and sends these reports via email in the form of well-structured HTML tables. It is a useful tool for efficiently monitoring marketing campaigns and keeping the team regularly informed. function main() { var reportConfigs = [ {days: 7, label: “Last 7 Days”}, {days: 14, label: “Last 14 Days”}, {days: 30, label: “Last 30 Days”} ]; var recipientEmails = “example.mail@gmail.com”; var subject = “Raport Cost Google Ads”; var body = “Raport al costurilor campaniilor pentru ultimele 7, 14 și 30 de zile:”; for (var i = 0; i < reportConfigs.length; i++) { var days = reportConfigs[i].days; var label = reportConfigs[i].label; var campaignReport = AdsApp.report( "SELECT CampaignName, Cost, AccountCurrencyCode, Conversions " + "FROM CAMPAIGN_PERFORMANCE_REPORT " + "WHERE Impressions > 0 ” + “DURING LAST_” + days + “_DAYS”); var rows = campaignReport.rows(); var data = []; while (rows.hasNext()) { var row = rows.next(); var rowData = [ row[“CampaignName”], row[“Cost”], row[“AccountCurrencyCode”], row[“Conversions”] ]; data.push(rowData); } // Format data as HTML table var htmlTable = “”; htmlTable += “” + label + “”; htmlTable += “Nume campaniiCostValutaConversii”; for (var j = 0; j < data.length; j++) { htmlTable += "" + data[j][0] + "" + data[j][1] + "" + data[j][2] + "" + data[j][3] + ""; } htmlTable += ""; // Add table to email body body += htmlTable; } // Send data to email MailApp.sendEmail({ to: recipientEmails, subject: subject, htmlBody: body }); Logger.log("Data sent to email: " + recipientEmails); } 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. Contactează-ne!
WordPress Plugins SEO PLUGIN Ce este un plugin wordpress? Un modul software care adaugă funcționalități suplimentare site-ului tău WordPress, cum ar fi securitate, SEO, sau formulare de contact, fără a fi nevoie de cunoștințe de programare. Cum funcționează pluginul? Pluginul permite gestionarea centralizată a meta descrierilor pentru toate paginile și postările, ușurând astfel optimizarea seo a site-ului prin intermediul Yoast SEO, fără a accesa fiecare pagină/postare individual. Limitarea lungimii meta descrierii: Funcția mdm_sanitize_meta_description() este menționată în cod, dar nu este folosită în mod direct în fluxul principal. Aceasta funcție ar trebui să fie utilizată pentru a asigura că meta descrierile nu depășesc 200 de caractere, prevenind astfel problemele legate de SEO. Descarcă plugin Pentru probleme tehnice vizavi de plugin ne poți contacta aici! Contactează-ne!
Google Ads Scripts Search terms additions Cum funcționează? Acest script este un instrument pentru automatizarea adăugării de cuvinte cheie în Google Ads, în special pentru conturile mari cu volume mari de date. Urmând acest tutorial, poți configura și personaliza scriptul pentru a răspunde nevoilor tale specifice, asigurând performanța optimă a contului tău fără a fi nevoie de intervenții manuale constante. Scriptul este conceput pentru a adăuga termeni de căutare cu conversii ridicate în grupurile de anunțuri relevante ca și cuvinte cheie, pe baza unor criterii specifice precum tipul de potrivire, conversiile, CPA și ROAS. Cerințe preliminare: Acces la contul Google Ads cu permisiuni pentru a crea și rula scripturi. Un Google Spreadsheet pentru înregistrarea adăugărilor de cuvinte cheie. Configurarea Scriptului Trebuie să personalizezi anumite variabile din script pentru a-l adapta la nevoile tale specifice: ✘1.Perioada de Observare: Setează câte zile în urmă scriptul trebuie să caute termeni de căutare cu conversii. var LOOKBACK_DAYS = 30; // Exemplu: 30 zile ✘2.Tipul de Potrivire: Definiți tipul de potrivire pentru cuvintele cheie care vor fi adăugate (de exemplu, EXACT, PHRASE, BROAD). var MATCH_TYPE = ‘EXACT’; // Exemplu: Potrivire exactă ✘3.Filtre pentru Grupuri de Anunțuri și Campanii: Opțional, filtrează după numele grupurilor de anunțuri sau campaniilor. Acest lucru te ajută să eviți erorile de timeout prin reducerea datelor procesate. var INCLUDE_ADGROUP_NAME_CONTAINS = “”; // Exemplu: “exact”var INCLUDE_CAMPAIGN_NAME_CONTAINS = “”; // Exemplu: “brand” ✘4.URL-ul Spreadsheet-ului: Furnizează URL-ul Google Spreadsheet-ului unde vor fi stocate înregistrările. var SPREADSHEET_URL = ‘URL_SPREADSHEET_AICI’; ✘5.Conversii Minime: Setează numărul minim de conversii pe care trebuie să le aibă un termen de căutare pentru a fi adăugat ca și cuvânt cheie. var MIN_CONVERSIONS = 1; ✘6.Praguri CPA și ROAS: Definiți pragurile pentru CPA (Cost per Achiziție) și ROAS (Return on Ad Spend) dacă este necesar. var CPA_THRESHOLD = 100; // Exemplu: Adăugați doar cuvinte cheie cu CPA sub 100 USDvar ROAS_THRESHOLD = 0.5; // Exemplu: Adăugați doar cuvinte cheie cu ROAS peste 0.5 var logEntries = []; function main() { // Set your tresholds here var LOOKBACK_DAYS = 30; var MATCH_TYPE = ‘EXACT’; //select what match type you want the queries to be added as var INCLUDE_ADGROUP_NAME_CONTAINS = “”; //filter for ad group name, if no filter it will consider all ad groups var INCLUDE_CAMPAIGN_NAME_CONTAINS = “”; //HIGHLY RECOMMENDED, without campaign filters GAQL will run into limits fast. Filter for campaign name, if no filter it will consider all campaigns var SPREADSHEET_URL = ”; //insert your own spreadsheet URL here, make sure it’s set to public editing var MIN_CONVERSIONS = 1; //set minimum amount of conversions var CPA_THRESHOLD = null; //leave null if you don’t want a maximum CPA threshold. Otherwise, set a max CPA threshold e.g. if you set it to 100 it will not add queries as keywords that exceed a CPA of 100 var ROAS_THRESHOLD = null; //leave null if you don’t want a minimum ROAS threshold. Otherwise, set a minimum ROAS threshold e.g. if you set it to 0.5 it will not add queries as keywords that have a ROAS lower than 0.5 // end of tresholds var dateRange = getDateRange(LOOKBACK_DAYS); var startDate = dateRange.startDate; var endDate = dateRange.endDate; var campaigns = AdsApp.campaigns() .withCondition(“Status = ENABLED”) //filter only for enabled campaigns, if you want to run it on paused campaigns for some reason change the word ENABLED to PAUSED .withCondition(“AdvertisingChannelType = SEARCH”) //filter for search campaigns to not into errors with shopping or pmax campaigns .get(); var adGroupIds = []; var campaignIds = []; while (campaigns.hasNext()) { var campaign = campaigns.next(); if (INCLUDE_CAMPAIGN_NAME_CONTAINS && !campaign.getName().toLowerCase().includes(INCLUDE_CAMPAIGN_NAME_CONTAINS.toLowerCase())) { continue; } campaignIds.push(campaign.getId()); var adGroups = campaign.adGroups() .withCondition(“Status = ENABLED”) //filter only for enabled ad groups, if you want to run it on paused ad groups for some reason change the word ENABLED to PAUSED .withCondition(“AdGroupType != SEARCH_DYNAMIC_ADS”) //filter our dynamic search ads as we cannot add keywords there .get(); while (adGroups.hasNext()) { var adGroup = adGroups.next(); if (INCLUDE_ADGROUP_NAME_CONTAINS && !adGroup.getName().toLowerCase().includes(INCLUDE_ADGROUP_NAME_CONTAINS.toLowerCase())) { continue; } adGroupIds.push(adGroup.getId()); } } if (adGroupIds.length > 0) { //GAQL query that fetches only search terms with view status none, have not been added or excluded var query = ` SELECT campaign.name, search_term_view.ad_group, search_term_view.search_term, metrics.clicks, metrics.conversions, metrics.conversions_value, metrics.cost_micros, metrics.conversions_value_per_cost, metrics.cost_per_conversion, search_term_view.status FROM search_term_view WHERE search_term_view.status = ‘NONE’ AND metrics.conversions > ${MIN_CONVERSIONS – 1} AND ad_group.id IN (${adGroupIds.join(“,”)}) AND segments.date BETWEEN ‘${startDate}’ AND ‘${endDate}’ `; var report = AdsApp.report(query); var rows = report.rows(); while (rows.hasNext()) { var row = rows.next(); var searchTerm = row[“search_term_view.search_term”]; var conversions = parseFloat(row[“metrics.conversions”]); var cost = parseFloat(row[“metrics.cost_micros”]) / 1000000; var conversionValue = parseFloat(row[“metrics.conversions_value”]) / 1000000; var roas = parseFloat(row[“metrics.conversions_value_per_cost”]); var cpa = parseFloat(row[“metrics.cost_per_conversion”]) / 1000000; // where statements for cpa and roas in GAQL not possible so I added them to be sequenced later if ((CPA_THRESHOLD !== null && cpa > CPA_THRESHOLD) || (ROAS_THRESHOLD !== null && roas < ROAS_THRESHOLD)) { Logger.log("Did not add keyword: " + searchTerm + " due to CPA (" + cpa + ") or ROAS (" + roas + ") thresholds."); continue; } try { var adGroupId = row["search_term_view.ad_group"].split("/").pop(); // Extract numeric ID var adGroup = AdsApp.adGroups().withIds([parseInt(adGroupId)]).get().next(); adGroup.newKeywordBuilder().withText(formatKeywordText(searchTerm, MATCH_TYPE)).build(); Logger.log("Added keyword: " + searchTerm + " to ad group: " + adGroup.getName()); logAdditionToSheet(row["campaign.name"], adGroup.getName(), searchTerm, MATCH_TYPE, conversions, cpa.toFixed(2), roas.toFixed(8)); } catch (e) { Logger.log("Failed to add keyword: " + searchTerm + " - " + e.message); } } } writeLogsToSheet(SPREADSHEET_URL); } function getDateRange(lookbackDays) { var today = new Date(); var endDate = formatDate(today); var startDate = new Date(today.getTime() - (lookbackDays * 24 * 60 * 60 * 1000)); return { startDate: formatDate(startDate), endDate: endDate }; } //senator, we run ads function formatDate(date) { var year = date.getFullYear(); var month = (date.getMonth() + 1).toString().padStart(2, '0'); var day = date.getDate().toString().padStart(2, '0'); return year + "-" + month + "-" + day; } function formatKeywordText(searchTerm, matchType) { switch (matchType) { case 'PHRASE': return """ + searchTerm + """; case 'EXACT': return "[" + searchTerm + "]"; case 'BROAD': default: return searchTerm; } } // Logs function logAdditionToSheet(campaignName, adGroupName, keyword, matchType, conversions, cpa, roas) { var dateAdded = new Date().toLocaleDateString(); logEntries.push([campaignName, adGroupName,
Plafonarea dobânzilor și impactul asupra Marketingului Financiar Cu toții ne-am obișnuit deja cu fluctuațiile și valul de schimbări ce are loc în aria economico-financiară. Recent, proiectul de lege privind protecția consumatorilor în legătură cu costul total al creditării și cesiunea de creanțe a trecut de comisiile de fond din Camera Deputaților și urmează să fie aplicabil probabil începând din noiembrie. Această reglementare vizează exclusiv instituțiile financiare non-bancare (IFN) și impune limite stricte asupra dobânzilor și costurilor creditelor ipotecare și de consum. Din perspectiva unei agenții de marketing, aceste schimbări legislative oferă atât provocări, cât și oportunități unice, așa cum vom dezvolta în prezentul articol. Oportunități în Marketing: Atragerea de noi clienți Plafonarea dobânzilor creează un mediu mai predictibil și transparent pentru consumatori, ceea ce poate conduce la creșterea încrederii în IFN-uri. Aceasta reprezintă o oportunitate pentru: – Segmentarea Pieței: Identificarea și atragerea clienților noi, inclusiv a celor fideli IFN-urilor tradiționale și a clienților bancabili. – Campanii de Informare: Dezvoltarea campaniilor care să explice clar noile reglementări și beneficiile pentru consumatori, consolidând astfel încrederea și atracția către IFN-uri. Creșterea numărului de clienți Reducerea costurilor percepute de clienți poate duce la o creștere generală a numărului de clienți. IFN-urile pot profita de aceasta prin crearea de campanii care să transforme interesul în cereri concrete de creditare, folosind testimoniale și studii de caz care demonstrează avantajele noilor reglementări. Se recomandă utilizarea campaniilor Google Ads, SEO și SMM pentru a atrage clienți care caută alternative de creditare mai avantajoase, subliniind avantajele plafonării dobânzilor. Îmbunătățirea imaginii de brand Implementarea noilor reglementări oferă o oportunitate de rebranding și poziționare strategică. Posibilitatea de a actualiza imaginea de brand pentru a reflecta transparența și orientarea către protecția consumatorului. Provocări în Marketing: Creșterea costurilor de publicitate Având în vedere standardizarea preconizată a dobânzilor, anticipăm o concurență intensificată, fără precedent. Acest context va determina, de asemenea, o creștere a costurilor pentru lead-uri. Pentru a contracara acest lucru: -Nu este niciun secret că Google Ads generează cele mai bune lead-uri, dar nici platformele de social media, precum Facebook și Instagram, nu trebuiesc neglijate. Recomandăm monitorizarea zilnică a campaniilor din conturile de Google Ads și utilizarea optimizării automatizate prin scripturi Google Ads. -Încercați utiliazrea unei combinații de canale de marketing pentru a reduce dependența de PPC (pay-per-click). Educarea pieței Informarea corectă a consumatorilor cu privire la noile reglementări și beneficiile acestora: – Content Marketing: Crearea de conținut educativ (articole, video-uri, infografice) care să explice noile reglementări și avantajele lor. – Customer Support: Implementarea unui serviciu de suport eficient pentru a răspunde întrebărilor și preocupărilor clienților. Scăderea profitului IFN-urilor Noile limite stricte impuse asupra dobânzilor și costurilor creditării pot reduce profitabilitatea IFN-urilor. Pentru a reuși într-o piață din ce în ce mai competitivă, este esențial să se adopte o strategie eficientă de marketing. Aceasta va influența în mod direct bugetele de marketing și strategia general utilizată. În concluzie, plafonarea dobânzilor la creditele acordate de IFN-uri prezintă atât provocări, cât și oportunități semnificative pentru IFN-uri. Abordarea proactivă, combinată cu strategii atent construite și implementate eficient, poate transforma această schimbare legislativă într-un avantaj competitiv major. Prin educarea consumatorilor și adaptarea campaniilor de marketing, IFN-urile pot atrage și fideliza clienți noi, consolidându-și astfel poziția pe piață, în timp ce gestionează atent provocările financiare aduse de scăderea profitului. Contactează-ne!