Media Buying Audit & Optimization Playbook
The rules of thumb for auditing a live client account and deciding what to scale, what to optimize, and how to troubleshoot. Distilled from the 2026-06-29 media-buying training call (Sean + Tasneem onboarding a new media buyer).
This is the companion to Media Buyer Launch Playbook. That one covers getting a new client live. This one covers everything after launch — the recurring audit you run when an account needs attention.
How to use it: run the audit process first, then apply the three rule sets (scaling, optimizing, troubleshooting). The one-glance cheat sheet at the bottom is the fast reference once you know the account.
The complete Arabic translation follows the English version below — same content, mirrored. النسخة العربية الكاملة موجودة في النصف الثاني من هذا المستند.
The Audit Process — do this every time
- Open both sources side by side. The Profit & Loss Sheet (Imported tab) and Facebook Ads Manager. The sheet is the source of truth for appointments — Ads Manager's lead and CPL counts can be wrong (the sheet often shows more leads than Ads Manager). If a number looks too low, a setter may not have linked the appointment yet — check with the setter before reacting.
- Decide: is it a volume problem or a quality problem? Volume = not enough leads coming in. Quality = leads come in but no one answers or books (no response, bad number). It can also be a market problem — some accounts only get cut after many failed tries.
- Run the AI analysis. Export the Imported tab as a CSV. Use the team's standard analysis prompt (it teaches the AI the campaign / ad set / ad structure and what "scheduled" vs "canceled" means). Set the start row to your date window (for example, June 1). Use Claude or ChatGPT — not Gemini (its analysis is unreliable). The output shows which ads produced leads, and which of those leads became appointments.
- Look at the live ads for context. Filter to ads that got at least one lead in the last 30 days. Find the ad driving the appointments — it is usually also where most of the leads come from. That ad is your winner. Everything else is measured against it.
- Account location note. Most accounts live on Home Project Pal. QPS is a franchise — multiple accounts, not all in one place. Confirm you are in the right account first.
Reading the Kill Switch (lead quality)
Kill-switch reasons fall into two buckets. Only the first bucket is the media buyer's job to fix.
In your control — each one points to a fix
| Reason |
What it usually means |
Fix |
| Out of range |
Radius or location question is wrong |
Fix the geo (radius / location qualifier) |
| Job too small |
Creative is making people think it is a repair or small job |
Fix the creative message |
| Price shopper |
Mostly out of your hands, but the ad can be attracting bargain hunters |
Watch for a pattern |
| Bad number |
Wrong or fake number — often autofill junk |
Test the WhatsApp-number fix (see Troubleshooting) |
| No response |
Never answers — often autofill junk |
Test the WhatsApp-number fix (see Troubleshooting) |
Out of your control — ignore these for ad decisions
Callback · Duplicate · Change mind · Canceled · Booked by company.
React to patterns, not single cases. One "job too small" is noise. A cluster of them means the creative is sending the wrong signal.
Scaling — rules of thumb
- Find the winner first, then feed it. Scale the ad that is actually producing appointments — not the one with the most clicks. A winner stuck on a small budget is the most common easy win.
- Let cost-per-appointment decide how far to go. If it is comfortably scalable (rule of thumb: under ~$150), push budget. When it gets close to the value of the appointment, scale carefully and fix booking rate first. CPL alone is not a reason to stop if the appointment math works.
- Raise budget to escape the learning phase. When an ad is still the winner but CPLs are creeping up, a budget increase can push it back out of learning — don't just kill it.
- Increase gradually. On a new or duplicated test, ramp the budget over a few days. Don't dump the full budget on day one.
- Keep at least two ad copies, even with a clear winner. Facebook performs better with something to A/B test against. If three copies all work, keep all three — duplicating down to only the winner often performs worse than leaving them all on.
- New launches: start wide, then narrow. Launch around 5 ad copies, keep the 2–3 that work, turn off the rest.
- Split the budget roughly 50/50 — proven vs. testing. Half toward what you know works, half toward new offers and tests.
Optimizing — rules of thumb
- Creative and copy must match. The number, price, and warranty on the image have to match the ad copy. A mismatch confuses the prospect and undercuts the offer.
- The big on-image number does the work. That is what grabs attention — not a small price difference buried in the copy. Lead with the proven number and the stronger warranty (10-year beats 1-year).
- Reuse winning copy across formats. Once an ad copy wins in a market, use that same copy for the video version of the same starting-price offer.
- Keep defaults current — and tell the creative team when something dies. Tired lines like "save thousands" stop pulling. The creative team doesn't always hear when something stops working, so it is on the media buyer to flag both outright mistakes (wrong price) and stale defaults.
- Kill wrong-geo / wrong-info ads. If an ad's copy references the wrong state, area, or offer, turn it off — don't try to optimize around it.
- Scan headlines and preview text for outliers, not tiny gains. You are hunting the obvious winner and the obvious loser, not micro-optimizing small differences.
Troubleshooting — rules of thumb
- No response / bad numbers → add a manual "WhatsApp Number" field. Phone numbers autofill from Facebook, so you collect a lot of junk. A WhatsApp field placed right under the phone field forces the person to type a real number, which improves pickup.
- Do not delete the phone field or turn it into a free-text question to force manual entry — Facebook will likely restrict or ban the page. The WhatsApp field is the safe workaround.
- Test it as a separate ad set: winning static vs. the same static plus the WhatsApp field. Compare booking rate. Roll it out only if pickup improves.
- Don't add WhatsApp to video right away. Video already gets better pickup (viewers are more engaged), so the extra friction may just raise CPL without paying off.
- High clicks / CTR but zero leads = wrong or unserious audience. Pause it and move budget to what actually converts. Engagement is not conversion.
- High CPM is a warning, not a kill order by itself. Combine it with leads and appointments before deciding.
- Test one variable at a time. When testing the WhatsApp field, change only that. Same with music — test song variations of the same video in one ad set (~$40/day) and let Facebook pick.
- Merge competing single-asset campaigns. Two campaigns each running one asset (for example, $30/day each) compete against each other. Merge them into one ABO campaign so they stop fighting and reach more audience.
- Watch for offer cannibalization on the same page. If you run two prices to the same audience, anyone who saw the cheaper offer won't click the pricier one. Make the higher offer visually distinct, or it just wastes spend.
- Give new creative a fair window. Let a new static run at least ~1,000 impressions before judging it.
- Don't over-disrupt what's working. Make minimal changes to stable campaigns. Be cautious with anything that could reset the learning phase.
One-Glance Cheat Sheet
| What you see |
Usually means |
Do this |
| Winner ad stuck on a small budget |
Underfed |
Scale budget (if cost-per-appointment is scalable) |
| Cost-per-appointment well under ~$150 |
Room to scale |
Increase budget |
| Cost-per-appointment near the appointment's value |
Too close for comfort |
Scale carefully; fix booking rate first |
| CPL rising over 1–2 weeks |
Ad fatigue |
Refresh creative or raise budget to re-enter learning — don't auto-kill |
| High clicks / CTR but no leads |
Wrong or unserious audience |
Pause it; move budget to what converts |
| High CPM alone |
Warning only |
Check leads / appointments before killing |
| Pattern of "out of range" |
Geo is wrong |
Fix radius / location question |
| Pattern of "job too small" |
Creative signals a small / repair job |
Fix the creative message |
| Pattern of "no response" / "bad number" |
Autofilled junk numbers |
Add manual WhatsApp field; test |
| Image number ≠ copy number |
Mismatch hurting the offer |
Align image + copy, relaunch |
| Two campaigns, one asset each |
Competing for the same audience |
Merge into one ABO campaign |
| Two price offers to the same audience |
Cannibalization |
Make the higher offer visually distinct |
Worked Examples (from the training call)
QPS Charleston — volume + quality problem
- Symptom: high CPL, low appointment volume.
- The $8,997 static was the only ad producing appointments — and most of the leads — but it was capped at $25/day.
- Mismatch found: the image said $8,997 / 10-year warranty; the copy said $8,897 / 1-year. The big on-image number is what was working, not the $100 discount.
- CPL was rising over the last 1–2 weeks = early fatigue.
- Plan: fix the mismatch (match the number, use the 10-year warranty) and relaunch; increase the winner's budget; relaunch the "Lean Mean Machine" video with the corrected copy; spin up a separate ad set to test the WhatsApp field vs. the standard form.
Weathermasters — engagement without conversion
- Symptom: a new financing video had the highest clicks and CTR but 0 leads after $70 spent (CPM ~$70). The financing static converted — 2 leads from 7 clicks → 2 appointments.
- Plan: pause the financing video and the $7,997 statics; scale the financing static; ask the creative team for video variations with different music and run them together in one ad set (~$40/day); test the new static (Carrier brand) for both the $7,997 and financing offers; merge the two $30/day CPO campaigns into one ABO campaign (~$75/day) so they stop competing.
دليل تدقيق وتحسين شراء الإعلانات (Media Buying Audit & Optimization Playbook)
القواعد العملية لتدقيق حساب عميل نشط واتخاذ القرار بشأن ما يجب توسيعه (scale)، وما يجب تحسينه (optimize)، وكيفية حل مشكلاته (troubleshoot). مستخلَص من مكالمة تدريب شراء الإعلانات بتاريخ 2026-06-29 (Sean و Tasneem أثناء تدريب مشترٍ إعلامي جديد).
هذا الدليل مكمّل لـ Media Buyer Launch Playbook. ذلك الدليل يغطّي إطلاق عميل جديد، وهذا الدليل يغطّي كل ما يأتي بعد الإطلاق — التدقيق الدوري الذي تجريه عندما يحتاج الحساب إلى مراجعة.
طريقة الاستخدام: نفّذ خطوات عملية التدقيق أولًا، ثم طبّق مجموعات القواعد الثلاث (التوسيع، التحسين، حل المشكلات). الجدول المرجعي السريع في الأسفل هو مرجعك السريع بعد أن تتعرّف على الحساب.
عملية التدقيق — نفّذها في كل مرة
- افتح المصدرين جنبًا إلى جنب. ورقة الأرباح والخسائر (Profit & Loss Sheet — تبويب Imported) و Facebook Ads Manager. الورقة هي المصدر الموثوق للمواعيد (appointments) — أرقام الـ leads والـ CPL في Ads Manager قد تكون خاطئة (غالبًا تُظهر الورقة عدد leads أكبر مما يظهر في Ads Manager). إذا بدا رقمٌ منخفضًا أكثر من اللازم، فقد لا يكون أحد الـ setters قد ربط الموعد بعد — تواصل مع الـ setter قبل اتخاذ أي إجراء.
- حدّد: هل المشكلة في الكمية (volume) أم في الجودة (quality)؟ الكمية = عدد leads غير كافٍ. الجودة = تأتي leads لكن لا أحد يرد أو يحجز (no response، bad number). وقد تكون المشكلة في السوق نفسه — بعض الحسابات لا نوقفها إلا بعد محاولات كثيرة فاشلة.
- شغّل تحليل الـ AI. صدّر تبويب Imported كملف CSV. استخدم prompt التحليل القياسي الخاص بالفريق (يُعلّم الـ AI بنية campaign / ad set / ad ومعنى "scheduled" مقابل "canceled"). اضبط صف البداية على النطاق الزمني المطلوب (مثلًا 1 يونيو). استخدم Claude أو ChatGPT — وليس Gemini (تحليله غير موثوق). يوضّح الناتج أيّ الإعلانات جلبت leads، وأيٌّ من تلك الـ leads تحوّل إلى مواعيد.
- انظر إلى الإعلانات النشطة لفهم السياق. صفِّ الإعلانات التي جلبت lead واحدًا على الأقل خلال آخر 30 يومًا. ابحث عن الإعلان الذي يجلب المواعيد — وهو عادةً نفس الإعلان الذي يأتي منه أغلب الـ leads. هذا الإعلان هو الفائز (winner)، وكل شيء آخر يُقاس بالنسبة إليه.
- ملاحظة حول مكان الحساب. أغلب الحسابات موجودة على Home Project Pal. أما QPS فهو امتياز (franchise) — حسابات متعددة وليست كلها في مكان واحد. تأكّد أولًا أنك في الحساب الصحيح.
قراءة الـ Kill Switch (جودة الـ leads)
أسباب الـ kill-switch تنقسم إلى مجموعتين. المجموعة الأولى فقط هي مسؤولية المشتري الإعلامي.
ضمن سيطرتك — كل سبب يشير إلى حل
| السبب |
ما يعنيه عادةً |
الحل |
| Out of range |
الـ radius أو سؤال الموقع خاطئ |
صحّح النطاق الجغرافي (radius / location qualifier) |
| Job too small |
الإعلان يجعل الناس يظنون أنها وظيفة إصلاح أو وظيفة صغيرة |
صحّح رسالة الإعلان (creative) |
| Price shopper |
غالبًا خارج سيطرتك، لكن قد يكون الإعلان يجذب الباحثين عن الأرخص |
راقب إن كان هناك نمط متكرّر |
| Bad number |
رقم خاطئ أو وهمي — غالبًا بسبب الـ autofill |
جرّب حل رقم WhatsApp (انظر حل المشكلات) |
| No response |
لا يرد أبدًا — غالبًا بسبب الـ autofill |
جرّب حل رقم WhatsApp (انظر حل المشكلات) |
خارج سيطرتك — تجاهَلها عند اتخاذ قرارات الإعلانات
Callback · Duplicate · Change mind · Canceled · Booked by company.
تعامَل مع الأنماط، لا مع الحالات الفردية. حالة "job too small" واحدة هي مجرد ضوضاء. لكن تكرارها يعني أن الإعلان يرسل إشارة خاطئة.
التوسيع (Scaling) — قواعد عملية
- اعثر على الفائز أولًا، ثم غذِّه. وسّع ميزانية الإعلان الذي يجلب المواعيد فعلًا — وليس الإعلان صاحب أكثر النقرات. الفائز العالق على ميزانية صغيرة هو أسهل مكسب وأكثره شيوعًا.
- دع تكلفة الموعد (cost-per-appointment) تحدّد مدى التوسّع. إذا كانت قابلة للتوسّع بأريحية (قاعدة عامة: أقل من ~$150) فزِد الميزانية. وعندما تقترب من قيمة الموعد نفسه، وسّع بحذر وأصلِح معدّل الحجز (booking rate) أولًا. الـ CPL وحده ليس سببًا للتوقف ما دامت أرقام الموعد منطقية.
- ارفع الميزانية للخروج من مرحلة التعلّم (learning phase). عندما يظل الإعلان هو الفائز لكن الـ CPL يرتفع تدريجيًا، فإن زيادة الميزانية قد تُخرجه من مرحلة التعلّم — لا توقفه فورًا.
- زِد الميزانية تدريجيًا. في أي اختبار جديد أو منسوخ (duplicated)، ارفع الميزانية على مدى عدة أيام. لا تضع الميزانية كاملة في اليوم الأول.
- احتفظ بنسختَي ad copy على الأقل، حتى مع وجود فائز واضح. Facebook يعمل بشكل أفضل عندما يكون لديه ما يختبره (A/B test). إذا كانت ثلاث نسخ كلها تعمل، فاحتفظ بالثلاث — تقليصها إلى الفائز وحده غالبًا يعطي أداءً أسوأ من إبقائها جميعًا.
- في الإطلاقات الجديدة: ابدأ واسعًا ثم ضيِّق. أطلق نحو 5 نسخ ad copy، واحتفظ بالـ 2–3 التي تعمل، وأوقف الباقي.
- قسّم الميزانية تقريبًا 50/50 — المُثبَت مقابل الاختبار. نصف لما تعرف أنه يعمل، ونصف للعروض والاختبارات الجديدة.
التحسين (Optimizing) — قواعد عملية
- يجب أن يتطابق الـ creative مع الـ copy. الرقم والسعر والضمان (warranty) على الصورة يجب أن تطابق نص الإعلان. عدم التطابق يربك العميل المحتمل ويُضعف العرض.
- الرقم الكبير على الصورة هو ما يصنع الفارق. هو ما يلفت الانتباه — وليس فرق سعر بسيط مدفون داخل النص. ابدأ بالرقم المُثبَت والضمان الأقوى (10-year warranty أفضل من 1-year).
- أعِد استخدام الـ copy الفائز عبر الصيغ المختلفة. بمجرد أن تفوز نسخة copy في سوق معيّن، استخدم نفس النسخة في نسخة الفيديو لنفس العرض بنفس السعر الابتدائي.
- حافِظ على تحديث الإعدادات الافتراضية — وأبلِغ فريق الـ creative عندما يتوقّف شيء عن العمل. العبارات المستهلَكة مثل "save thousands" تتوقف عن الجذب. فريق الـ creative لا يعلم دائمًا متى يتوقف شيء عن العمل، لذا تقع على المشتري الإعلامي مسؤولية الإبلاغ عن الأخطاء الصريحة (سعر خاطئ) وعن الإعدادات الافتراضية القديمة.
- أوقِف الإعلانات ذات الجغرافيا/المعلومات الخاطئة. إذا كان نص إعلان يشير إلى ولاية أو منطقة أو عرض خاطئ، أوقفه — لا تحاول تحسينه.
- افحص الـ headlines ونص المعاينة (preview text) بحثًا عن الحالات الشاذة (outliers)، لا عن مكاسب صغيرة. أنت تبحث عن الفائز الواضح والخاسر الواضح، لا عن تحسين فروق صغيرة.
حل المشكلات (Troubleshooting) — قواعد عملية
- No response / أرقام خاطئة ← أضِف حقل "WhatsApp Number" يدويًا. أرقام الهاتف تُملأ تلقائيًا (autofill) من Facebook، فتجمع الكثير من الأرقام غير الصالحة. حقل WhatsApp موضوع أسفل حقل الهاتف مباشرةً يجبر الشخص على كتابة رقم حقيقي، مما يحسّن نسبة الرد.
- لا تحذف حقل الهاتف ولا تحوّله إلى سؤال نصي حر لإجبار الإدخال اليدوي — على الأرجح سيقيّد Facebook الصفحة أو يحظرها. حقل WhatsApp هو الحل الآمن.
- اختبره في ad set منفصل: الـ static الفائز مقابل نفس الـ static مع إضافة حقل WhatsApp. قارِن معدّل الحجز. عمّمه فقط إذا تحسّنت نسبة الرد.
- لا تضف WhatsApp إلى الفيديو فورًا. الفيديو أصلًا يحقق نسبة رد أفضل (المشاهدون أكثر تفاعلًا)، لذا قد يؤدي الاحتكاك الإضافي فقط إلى رفع الـ CPL دون فائدة.
- نقرات / CTR عالية مع صفر leads = جمهور خاطئ أو غير جاد. أوقِفه وانقل الميزانية إلى ما يحوّل فعلًا. التفاعل ليس تحويلًا.
- الـ CPM المرتفع تحذير، وليس قرار إيقاف بمفرده. اجمعه مع الـ leads والمواعيد قبل اتخاذ القرار.
- اختبر متغيرًا واحدًا في كل مرة. عند اختبار حقل WhatsApp، غيّر هذا فقط. وكذلك مع الموسيقى — اختبر نسخًا مختلفة من نفس الفيديو في ad set واحد (~$40/يوم) ودع Facebook يختار.
- ادمج الـ campaigns المتنافسة ذات الأصل الواحد. حملتان (campaigns) كلٌّ منهما تشغّل أصلًا (asset) واحدًا (مثلًا $30/يوم لكلٍّ منهما) تتنافسان ضد بعضهما. ادمجهما في حملة ABO واحدة حتى تتوقفا عن التنافس وتصلا إلى جمهور أكبر.
- انتبه لتنافس العروض (cannibalization) على نفس الصفحة. إذا شغّلت سعرين لنفس الجمهور، فمن رأى العرض الأرخص لن ينقر على الأغلى. اجعل العرض الأعلى مميزًا بصريًا، وإلا فهو مجرد إهدار للميزانية.
- امنح الـ creative الجديد فرصة عادلة. دع الـ static الجديد يعمل لـ 1,000 ظهور (impressions) على الأقل قبل الحكم عليه.
- لا تُربِك ما يعمل. أجرِ أقل تغييرات ممكنة على الحملات المستقرّة. كن حذرًا من أي شيء قد يعيد ضبط مرحلة التعلّم.
الجدول المرجعي السريع
| ما تراه |
ما يعنيه عادةً |
ما تفعله |
| إعلان فائز عالق على ميزانية صغيرة |
غير مُغذّى بما يكفي |
وسّع الميزانية (إذا كانت تكلفة الموعد قابلة للتوسّع) |
| تكلفة الموعد أقل بكثير من ~$150 |
مجال للتوسّع |
زِد الميزانية |
| تكلفة الموعد قريبة من قيمة الموعد |
قريبة جدًا للأمان |
وسّع بحذر؛ أصلِح معدّل الحجز أولًا |
| ارتفاع الـ CPL خلال أسبوع إلى أسبوعين |
إجهاد الإعلان (fatigue) |
جدِّد الـ creative أو ارفع الميزانية للعودة إلى التعلّم — لا توقفه تلقائيًا |
| نقرات / CTR عالية بلا leads |
جمهور خاطئ أو غير جاد |
أوقِفه؛ انقل الميزانية إلى ما يحوّل |
| CPM عالٍ بمفرده |
تحذير فقط |
راجِع الـ leads / المواعيد قبل الإيقاف |
| نمط "out of range" |
الجغرافيا خاطئة |
صحّح الـ radius / سؤال الموقع |
| نمط "job too small" |
الإعلان يوحي بوظيفة صغيرة / إصلاح |
صحّح رسالة الإعلان |
| نمط "no response" / "bad number" |
أرقام غير صالحة من الـ autofill |
أضِف حقل WhatsApp يدوي؛ اختبر |
| رقم الصورة ≠ رقم الـ copy |
عدم تطابق يُضعف العرض |
طابِق الصورة مع الـ copy وأعد الإطلاق |
| حملتان، كلٌّ منها بأصل واحد |
تتنافسان على نفس الجمهور |
ادمجهما في حملة ABO واحدة |
| عرضا سعر لنفس الجمهور |
تنافس العروض |
اجعل العرض الأعلى مميزًا بصريًا |
أمثلة عملية (من مكالمة التدريب)
QPS Charleston — مشكلة كمية + جودة
- العَرَض: CPL مرتفع، وحجم مواعيد منخفض.
- كان الـ static بسعر $8,997 هو الإعلان الوحيد الذي يجلب مواعيد — وأغلب الـ leads — لكنه كان محدودًا عند $25/يوم.
- عدم تطابق مُكتشَف: الصورة تقول $8,997 / ضمان 10 سنوات؛ والـ copy تقول $8,897 / ضمان سنة واحدة. الرقم الكبير على الصورة هو ما كان يعمل، وليس خصم الـ $100.
- كان الـ CPL يرتفع خلال آخر أسبوع إلى أسبوعين = بداية إجهاد.
- الخطة: صحّح عدم التطابق (طابِق الرقم، واستخدم ضمان 10 سنوات) وأعِد الإطلاق؛ زِد ميزانية الفائز؛ أعِد إطلاق فيديو "Lean Mean Machine" بالـ copy المصحَّح؛ أنشئ ad set منفصلًا لاختبار حقل WhatsApp مقابل النموذج القياسي.
Weathermasters — تفاعل بلا تحويل
- العَرَض: فيديو financing جديد حقّق أعلى نقرات وأعلى CTR لكن صفر leads بعد إنفاق $70 (CPM ~$70). أما الـ static الخاص بالـ financing فقد حوّل — 2 leads من 7 نقرات ← موعدان (2 appointments).
- الخطة: أوقِف فيديو الـ financing وستاتيكات الـ $7,997؛ وسّع static الـ financing؛ اطلب من فريق الـ creative نسخ فيديو بموسيقى مختلفة وشغّلها معًا في ad set واحد (~$40/يوم)؛ اختبر الـ static الجديد (علامة Carrier) لكلا العرضين $7,997 والـ financing؛ ادمج حملتَي CPO بقيمة $30/يوم في حملة ABO واحدة (~$75/يوم) حتى تتوقفا عن التنافس.
صفحات ذات صلة
- Media Buyer Launch Playbook — الدليل المكمّل لمرحلة الإطلاق (من إتمام الصفقة إلى الإعلانات الحية). هذا الدليل يبدأ بعد الإطلاق.
- Targeting Audit Workflow — الحل الأعمق للجغرافيا / الـ zip / الـ qualifier عند ظهور مشاكل "out of range" أو حجم الجمهور.
- Lead Form Standard Questions — حيث يوجد اختبار حقل رقم WhatsApp.
- Creative Production SOP — كيفية تجهيز الستاتيكات الجديدة ونسخ موسيقى الفيديو لفريق الـ creative.
- SOPs Index — كتالوج الـ SOP الكامل.