Google Apps Script للمسوّقين: من أين تبدأ
Google Apps Script هو مكان بتكتب فيه كود جافاسكريبت بسيط جوه Google Sheets أو Docs أو Gmail، فيعمل لك شغل كنت بتعمله بإيدك كل يوم: يرتّب بيانات، ويبعت إيميل، وينسخ أرقام من شيت لشيت، ويشتغل لوحده في ميعاد محدد. مش لازم تكون مبرمج؛ لو بتعرف تستخدم معادلات الشيت، تقدر تتعلم أول سكريبتاتك في ساعة. في المقال ده هاشرح يعني إيه Apps Script، وإيه اللي المسوّق يقدر يعمله بيه، وإزاي تفتحه وتكتب أول سكريبت وتشغّله بشكل تلقائي، وإيه الحدود اللي لازم تعرفها.
محتويات المقال
يعني إيه Google Apps Script بالبساطة دي
هو خدمة من جوجل متاحة مجانًا مع حساب جوجل، بتخليك تكتب سكريبتات بلغة جافاسكريبت (مع مكتبات جاهزة للتعامل مع خدمات جوجل) وتشغّلها على سيرفرات جوجل من غير ما تجهّز سيرفر أو استضافة.
تخيّل إن الشيت بتاعك فيه زر «حدّث الأرقام»، أو إن في إيميل بيوصلك كل صباح فيه ملخص أمس، أو إن كل ما حد يسجل في فورم موقعك ينزل في الشيت فورًا. كل ده بسكريبتات صغيرة.
ليه المسوّق يتعلمه؟
المسوّق بيقضي وقت كبير في شغل متكرر: تجميع بيانات الإعلانات، وتنضيف أرقام، وكتابة تقارير، وإرسال تحديثات. وأي شغل متكرر هو مرشح للأتمتة.
مميزات Apps Script للمسوّقين:
- مجاني ومتاح مع حساب جوجل، ومن غير تثبيت.
- متكامل مع أدواتك: Sheets وGmail وCalendar وDrive وDocs.
- ممكن يشتغل تلقائيًا في ميعاد (كل يوم، كل أسبوع) من غير ما تفتح الجهاز.
- بيتصل بخدمات خارجية عن طريق طلبات الويب (API)، ومنها بيانات الإعلانات لو عندك وصول مناسب. وفي مقال سحب بيانات إعلانات ميتا إلى Google Sheets أمثلة على كده.
- تعلّمه تدريجي: تبدأ بسكريبت من 5 سطور.
أمثلة على اللي تقدر تعمله بيه
- تقرير أسبوعي بالإيميل لعميلك من أرقام الشيت، وده موضوع مقال كامل: تقرير أداء أسبوعي يتبعت تلقائيًا.
- حفظ بيانات فورم الموقع مباشرة في شيت: ربط فورم الموقع بـ Google Sheets.
- تنضيف قوائم العملاء المحتملين: مسح المكرر وتوحيد صيغة الأرقام.
- تنبيه عند حدوث شيء: لو تكلفة النتيجة عدّت حد معين في الشيت، يبعتلك إيميل.
- تجهيز وتسمية روابط UTM بشكل منتظم حسب نظامك. شرحت النظام في نظام UTM.
- نسخ احتياطي لشيت مهم بشكل دوري.
- إنشاء مستندات من قالب: عروض أسعار أو تقارير بأسماء العملاء.
إزاي تكتب أول سكريبت Apps Script خطوة بخطوة
الخطوة 1: افتح محرر Apps Script
- افتح ملف Google Sheets (أو أنشئ واحد جديد).
- من القائمة العلوية اختار الإضافات (Extensions) ثم Apps Script. (تسميات القوائم ممكن تتغير شوية، لكن المكان ده هو المعتاد.)
- هيفتح لك محرر في تبويب جديد فيه ملف اسمه
Code.gsوفيه دالة فاضية. - غيّر اسم المشروع من أعلى لاسم واضح (مثلًا «تقرير الإعلانات»).
كده السكريبت مرتبط بالشيت بتاعك (اسمه Container-bound script)، وبيقدر يقرأ ويكتب فيه مباشرة.
الخطوة 2: أول سكريبت: قراءة الشيت وحساب بسيط
خلينا نعمل سكريبت صغير بيقرأ صف عنده «الإنفاق» و«المبيعات» وبيحسب ROAS ويكتبه. (عن حساب ROAS شوف حساب ROAS.)
جهّز ورقة اسمها «بيانات» فيها العناوين في الصف الأول: التاريخ، الإنفاق، المبيعات، ROAS. وبيانات من الصف التاني.
function calculateRoas() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('بيانات');
var lastRow = sheet.getLastRow();
if (lastRow < 2) return;
var values = sheet.getRange(2, 1, lastRow - 1, 4).getValues();
for (var i = 0; i < values.length; i++) {
var spend = values[i][1];
var sales = values[i][2];
values[i][3] = spend > 0 ? sales / spend : '';
}
sheet.getRange(2, 1, values.length, 4).setValues(values);
}
شرح الكود بالبساطة دي
SpreadsheetApp.getActiveSpreadsheet(): افتح الشيت اللي السكريبت جواه.getSheetByName('بيانات'): اختار الورقة باسمها. لازم الاسم يكون مطابق تمامًا.getRange(...).getValues(): اقرأ الخلايا كلها مرة واحدة في مصفوفة. وده أسرع بكتير من القراءة خلية خلية.- الحلقة
for: لكل صف، احسب المبيعات ÷ الإنفاق. setValues: اكتب النتيجة كلها مرة واحدة.
القاعدة المهمة في Apps Script: اقرأ وأكتب على دفعات (مصفوفة كاملة) بدل خلية خلية، لأن كل استدعاء بياخد وقت.
الخطوة 3: شغّل السكريبت وامنحه الصلاحية
- اضغط حفظ.
- اختار الدالة
calculateRoasمن القائمة اللي جنب زر التشغيل واضغط تشغيل (Run). - أول مرة هيطلب منك صلاحية الوصول لحسابك وللشيت. جوجل هيعرض رسالة تحذير لأن السكريبت لسه ما اتراجعش من جوجل (وده طبيعي لسكريبتاتك الشخصية). راجع الصلاحيات المطلوبة بدقة وتأكد إنها منطقية لما السكريبت بيعمله، ووافق لو أنت اللي كاتبه ومتأكد منه.
- بعد التشغيل، ارجع للشيت وشوف عمود ROAS اتملى.
- لو ظهر خطأ، اقرأ الرسالة: غالبًا اسم الورقة غلط أو الصف فاضي.
تحذير أمان مهم: ما تشغّلش سكريبتات بتنسخها من مصادر مجهولة من غير ما تفهم هي بتعمل إيه، لأنها بتشتغل بصلاحياتك على حسابك وبياناتك وإيميلاتك. اقرأ الكود، وراجع الصلاحيات.
الخطوة 4: زر في الشيت (قائمة مخصصة)
بدل ما تفتح المحرر كل مرة، ضيف قائمة في الشيت نفسه:
function onOpen() {
SpreadsheetApp.getUi()
.createMenu('أدواتي')
.addItem('احسب ROAS', 'calculateRoas')
.addToUi();
}
احفظ، وارجع للشيت وأعد تحميل الصفحة. هتلاقي قايمة اسمها «أدواتي» فيها «احسب ROAS». ودي الدالة onOpen اللي بتشتغل تلقائيًا كل ما حد يفتح الملف.
الخطوة 5: تشغيل السكريبت تلقائيًا (المشغّلات/Triggers)
ده اللي بيحوّل السكريبت من أداة بتضغط عليها لأتمتة حقيقية.
- في محرر Apps Script، اضغط على أيقونة المشغّلات (Triggers) (رمز الساعة) في القائمة الجانبية.
- اضغط إضافة مشغّل (Add Trigger).
- اختار الدالة (
calculateRoas)، ونوع الحدث مشغّل مرتبط بالوقت (Time-driven). - اختار التكرار: كل ساعة، أو يوميًا في ساعة معينة، أو أسبوعيًا.
- احفظ.
دلوقتي السكريبت هيشتغل لوحده في الوقت اللي حددته، حتى لو الجهاز مقفول. وفي المشغّلات فيه صفحة بتسجل التنفيذات والأخطاء، بتفيد في اكتشاف المشاكل.
الخطوة 6: أول إيميل تلقائي (نموذج بسيط)
function sendTestEmail() {
var to = Session.getActiveUser().getEmail();
MailApp.sendEmail(to, 'اختبار من Apps Script', 'السكريبت بيشتغل ✅');
}
شغّلها، وهيوصلك إيميل على بريدك. من هنا تقدر تبني تقرير أسبوعي كامل، وده اللي شرحته بالتفصيل في مقال التقرير التلقائي اللي ذكرته فوق.
الحدود اللي لازم تعرفها
- حصص التشغيل (Quotas): جوجل بيحدد حدود يومية لوقت تشغيل السكريبتات وعدد الإيميلات المرسلة وطلبات الويب، وبتختلف بين الحساب الشخصي وحساب Google Workspace. الحدود دي بتتغيّر، فراجعها من صفحة Quotas الرسمية في وثائق Apps Script قبل ما تبني حاجة كبيرة.
- مهلة تنفيذ السكريبت: فيه حد زمني لتشغيل السكريبت الواحد، فالعمليات الكبيرة لازم تتقسم.
- مش مناسب لكل شيء: للمشاريع الكبيرة ومعالجة بيانات ضخمة، فيه أدوات تانية أنسب.
- الخصوصية: السكريبت بيشتغل بصلاحياتك. لو بتتعامل مع بيانات عملاء، فكّر في إزاي تحميها، ومين عنده وصول للملف.
- الاعتماد على شخص واحد: لو السكريبت مربوط بحسابك الشخصي وأنت ساب الشغل أو غيّرت حسابك، الأتمتة هتقف. وثّق إيه اللي بيعمله السكريبت وسجّل مكانه.
إزاي تتعلم أكتر بدون ما تتوه
- ابدأ بمشكلة حقيقية صغيرة بتتكرر كل يوم في شغلك، واتعلم اللي محتاجه لحلها.
- استخدم وثائق جوجل الرسمية (Apps Script Reference) كمرجع للدوال.
- ممكن تستعين بأداة ذكاء اصطناعي لكتابة مسودة كود أو شرح خطأ، بس اقرأ الكود وجرّبه على نسخة من الشيت قبل ما تستخدمه على بيانات حقيقية. وده مبدأ استخدام الذكاء الاصطناعي بالطريقة الصح.
- اشتغل على نسخة: اعمل نسخة من الشيت قبل أي تجربة.
- اكتب تعليقات في الكود (
// هنا بنحسب ROAS) عشان تفهمه بعد شهور. - ابدأ صغير ووسّع: سكريبت واحد شغال أحسن من مشروع كبير ما خلصش.
أخطاء شائعة للمبتدئين
- القراءة والكتابة خلية خلية: بتخلّي السكريبت بطيء. استخدم المصفوفات.
- اسم الورقة غلط: أشهر سبب للخطأ، حتى مسافة زيادة بتكسره.
- تشغيل كود من مصدر مجهول من غير فهم.
- نسيان المشغّل (Trigger) وبعدين تستغرب ليه مش شغال لوحده.
- عدم متابعة الأخطاء: المشغّل ممكن يفشل بصمت، فشوف سجل التنفيذات كل فترة.
- تجاوز الحصص بإرسال إيميلات كتير.
- تجربة مباشرة على الشيت الأصلي وبعدين بيانات اتغيّرت.
للتأكد من أحدث التفاصيل، راجع توثيق Google Apps Script الرسمي، لأن الواجهات والسياسات بتتغيّر باستمرار.
مقالات ذات صلة بتفيدك:
- المشغلات Triggers في Apps Script: الأنواع والحدود
- تنبيهات تليجرام من Google Sheets خطوة بخطوة
- برنامج CRM مجاني لمشروع صغير: الخيارات وإزاي تبنيه في Google Sheets
- Looker Studio: بناء تقرير عميل من الصفر
أسئلة شائعة
هل لازم أعرف برمجة عشان أستخدم Apps Script؟
مش لازم تكون مبرمج محترف. معرفة بسيطة بالمنطق (متغيرات، وحلقات، وشروط) وجافاسكريبت أساسي كفاية للبداية. وكتير من السكريبتات الصغيرة بتتعمل بتعديل أمثلة جاهزة.
هل Apps Script مجاني؟
متاح مجانًا مع حساب جوجل، مع حدود استخدام يومية (Quotas). حسابات Workspace ليها حدود مختلفة. راجع الوثائق الرسمية للحدود الحالية.
هل السكريبت بيشتغل لو الجهاز مقفول؟
آه، لو ضبطت مشغّل (Trigger) بيتنفذ على سيرفرات جوجل، مش على جهازك.
هل ينفع أسحب بيانات الإعلانات بـ Apps Script؟
ينفع من خلال واجهات برمجية (APIs) لو معاك صلاحيات وتوكن مناسب، والتفاصيل بتختلف حسب المنصة وبتتغيّر. وفي مقال سحب بيانات ميتا إلى Google Sheets أمثلة على الطريقة.
لو عايز أساعدك تحدّد أنهي شغل متكرر في تسويقك يتأتمت أولًا وتبني أول سكريبت ليه، تقدر تحجز استشارة معايا.
محتاج حد يبصّ على حساباتك؟
ابعتلي على واتساب وقولّي وضعك، وأقولك نبدأ منين.