قياس أداء الحملات - الإصدار 2 من حزمة تطوير البرامج (SDK) لنظام التشغيل Android (الإصدار القديم)

يقدّم هذا المستند نظرة عامة حول كيفية قياس الحملات ومصادر الزيارات باستخدام الإصدار الثاني من حزمة SDK من "إحصاءات Google" لنظام التشغيل Android.

نظرة عامة

يمكن أن يساعدك قياس الحملات في "إحصاءات Google" على تحسين قيمة قنواتك التسويقية من خلال تفعيل إحالة الحملات ومصادر الزيارات إلى نشاط المستخدم داخل تطبيقك.

تتوفّر عدّة أنواع لقياس أداء الحملات في حزمة تطوير البرامج (SDK) لخدمة "إحصاءات Google" لنظام التشغيل Android:

  • قياس حملات Google Play: يمكنك التعرّف على الحملات والمواقع الإلكترونية والتطبيقات التي أحالت المستخدم إلى صفحة تطبيقك على "متجر Google Play" لتنزيل تطبيقك.
  • قياس الحملات العامة - يمكنك الاطّلاع على الحملات أو مصادر الزيارات التي أطلقت تطبيقك الذي تم تثبيته.
  • قياس الإحالات: يمكنك الاطّلاع على مصدر الزيارات المُحيلة، مثل المواقع الإلكترونية أو التطبيقات الأخرى، التي شغَّلت تطبيقك بعد تثبيته.

ستوضّح الأقسام التالية وقت تنفيذ كل نوع من أنواع قياس الحملات في تطبيقك وكيفية تنفيذه.

قياس أداء الحملات على Google Play

يتيح لك قياس حملات Google Play معرفة الحملات ومصادر الزيارات التي ترسل المستخدمين لتنزيل تطبيقك من "متجر Google Play". ننصح جميع المطوّرين بتنفيذ عملية قياس أداء الحملات على "متجر Google Play"

طريقة عمل قياس الحملات على Google Play

يعتمد قياس حملات متجر Google Play على استخدام مَعلمات الحملة لتمرير معلومات مصادر الزيارات والحملات إلى تطبيقك في وقت تنزيلها من متجر Google Play.

في ما يلي وصف شامل لطريقة عمل "قياس الحملات على Google Play":

  1. ينقر المستخدِم على رابط من إعلان أو موقع إلكتروني أو تطبيق لنقله إلى صفحة تطبيقك على "متجر Google Play". تم وضع علامة على الرابط باستخدام مَعلمات الحملة.
  2. بعد أن ينزِّل المستخدم تطبيقك ويثبّته، سيبث "متجر Google Play" هدف INSTALL_REFERRER على الجهاز الذي يتضمّن مَعلمات الحملة نفسها.
  3. سيستجيب تطبيقك بعد ذلك لهذا الغرض باستخدام العنصر BroadcastReceiver المقدّم أدناه، وسيقرأ معلَمات الحملة ويستخدمها لتعديل معلومات الحملة على "إحصاءات Google".

يُعد تنفيذ عملية قياس الحملات في Google Play

لتنفيذ عملية قياس أداء الحملات على "متجر Google Play"، اتّبِع الخطوات التالية:

‫1. إضافة BroadcastSubmitr جديد إلى ملف AndroidManifest.xml

تسمح سياسة "BroadcastReceiver" التالية لتطبيقك بالاستجابة لبث غرض INSTALL_REFERRER الذي يُجريه متجر Google Play عند تثبيت تطبيقك. قم بإضافتها إلى ملف AndroidManifest.xml على النحو التالي:

<!-- Used for install referral measurement-->
<service android:name="com.google.analytics.tracking.android.CampaignTrackingService"/>
<receiver android:name="com.google.analytics.tracking.android.CampaignTrackingReceiver" android:exported="true">
  <intent-filter>
    <action android:name="com.android.vending.INSTALL_REFERRER" />
  </intent-filter>
</receiver>

2. إضافة مَعلمات الحملة إلى روابط "متجر Google Play"

يتمّ استخدام مَعلمات الحملة لتمرير معلومات عن الحملة أو مصدر الزيارات الذي أحال المستخدِم إلى صفحة تطبيقك على "متجر Google Play" إلى عملية تنفيذ "إحصاءات Google" في تطبيقك.

لمعرفة كيفية إنشاء سلسلة مَعلمة حملة، استخدِم أداة إنشاء عناوين URL على Google Play، أو راجِع قسم مرجع مَعلمات الحملة.

بعد إنشاء سلسلة مَعلمة حملتك، أضِفها إلى عناوين URL في "متجر Google Play" كقيمة للمَعلمة referrer، كما في المثال التالي:

https://play.google.com/store/apps/details?id=com.example.app
&referrer=utm_source%3Dgoogle
%26utm_medium%3Dcpc
%26utm_term%3Drunning%252Bshoes
%26utm_content%3DdisplayAd1
%26utm_campaign%3Dshoe%252Bcampaign

سيمرِّر متجر Google Play قيمة المعلَمة referrer فقط إلى تنفيذ "إحصاءات Google" في تطبيقك، لذا من المهم التأكّد من توفّرها في روابط "متجر Google Play".

قياس الحملات العامة

يمكن استخدام القياس العام للحملات لربط حملة أو مصدر زيارات بمستخدم بعد تثبيت تطبيقك مسبقًا.

على سبيل المثال، إذا كنت تُطلق حملة مدفوعة للوصول إلى المستخدمين الحاليين الذين ثبّتوا تطبيقك من قبل، يمكنك استخدام قياس عام للحملات لقياس عمليات إطلاق التطبيقات التي حدثت نتيجة تلك الحملة.

تنفيذ القياس العام للحملة

لضبط قيم حملة لحملة عامة، استدعِ setCampaign() ومرِّر سلسلة مَعلمة الحملة كوسيطة.

قد يستدعي التنفيذ النموذجي setCampaign() عند إطلاق التطبيق، ويتحقّق من الغرض الذي أطلقه لمعرفة ما إذا كانت هناك معلمات صالحة للحملة:

public class SampleActivity extends Activity {

  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    // Get the intent that started this Activity.
    Intent intent = this.getIntent();
    Uri uri = intent.getData();

    // Call setContext() here so that we can access EasyTracker
    // to update campaign information before calling activityStart().
    EasyTracker.getInstance().setContext(this);

    if (intent.getData() != null) {
      EasyTracker.getTracker().setCampaign(uri.getPath());
    }
    ... // The rest of your onCreate() code.
  }

  @Override
  public void onStart() {
    super.onStart();
    EasyTracker.getInstance().activityStart(this);
    ... // The rest of your onStart() code.
  }


  @Override
  public void onStop() {
    super.onStop();
    EasyTracker.getInstance().activityStop(this);
    ... // The rest of your onStop() code.
  }
}

قياس الإحالات

يشبه قياس الإحالة الأنواع الأخرى لقياس الحملات من حيث أنّه يسمح لك بقياس مصدر الإحالة الذي أطلق تطبيقك على جهاز المستخدِم. مع ذلك، يستخدم قياس الإحالات الناجحة سلسلة بسيطة مثل "google.com" أو "myOtherApp"، بدلاً من سلسلة من مَعلمات الحملة.

عند ضبط مصدر إحالة، مثل "google.com"، يتم ضبط سمة المصدر على "google.com"، في حين يتم ضبط سمة الوسيط ضمنيًا على "المُحيل"

كما هو الحال في قياس أداء الحملات، يؤدي تحديد مصدر إحالة تلقائيًا إلى بدء جلسة جديدة من خلال مكالمة الإرسال التالية.

في مقتطف الرمز التالي، نفترض أنّك وضعت علامات على أي روابط من شأنها أن تفتح تطبيقك باستخدام مَعلمات حملات "إحصاءات Google"، أو باستخدام مَعلمة referrer بسيطة تصف مصدر الإحالة. في حال توفّر المَعلمة referrer في حال عدم توفّر مَعلمات حملة أخرى، يتم تعديل معلومات حملة المستخدِم باستخدام مصدر إحالة جديد:

public class SampleActivity extends Activity {

  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    // Get the intent that started this Activity.
    Intent intent = this.getIntent();
    Uri uri = intent.getData();

    // Call setContext() here so that we can access EasyTracker
    // to update campaign information before activityStart() is called.
    EasyTracker.getInstance().setContext(this);

    if (uri != null) {
      if(uri.getQueryParmeter("utm_source") != null) {    // Use campaign parameters if avaialble.
        EasyTracker.getTracker().setCampaign(uri.getPath());
      } else if (uri.getQueryParameter("referrer") != null) {    // Otherwise, try to find a referrer parameter.
        EasyTracker.getTracker().setReferrer(uri.getQueryParameter("referrer"));
      }
    }
  }


  @Override
    public void onStart() {
    super.onStart();
    EasyTracker.getInstance().activityStart(this);
    ... // The rest of your onStart() code.
  }


  @Override
  public void onStop() {
    super.onStop();
    EasyTracker.getInstance().activityStop(this);
    ... // The rest of your onStop() code.
  }
}

المشاكل المعروفة

  • يستخدم javadoc CampaignTrackingReceiver مسار فئة غير صحيح في مثال استخدامه. اطّلِع على تنفيذ قياس الحملات على Google Play لمعرفة الاستخدام الصحيح.
  • يمكن تحديد فئة BroadcastReceiver واحدة فقط لكل تطبيق. وإذا كنت بحاجة إلى دمج فئتَين أو أكثر من BroadcastReceivers من حِزم تطوير برامج (SDK) مختلفة، عليك إنشاء صف BroadcastReceiver خاص بك يتم من خلاله تلقّي جميع عمليات البث وطلب BroadcastReceivers المناسب لكل نوع من أنواع البث.
  • لا يتيح قياس حملات Google Play حاليًا عمليات التثبيت من الويب إلى الجهاز التي تبدأ من "متجر Play" الإلكتروني.

مَعلمات الحملة

يتم استخدام مَعلمات الحملات لتمرير معلومات عن مصادر الزيارات والحملات التي تجذب المستخدمين إلى تطبيقك.

  • بوجهٍ عام، يتم تمرير سلسلة مَعلمة الحملة غير المرمّزة كوسيطة إلى setCampaign().
  • في أداة "قياس الحملات على Google Play"، يتم إلحاق مَعلمة referrer مع سلسلة مَعلمة حملة مرمّزة كقيمتها، بأي عناوين URL تشير إلى صفحة تطبيقك على "متجر Play".

في ما يلي مثال على سلسلة حملة صالحة وغير مرمّزة يمكن استخدامها لقياس عام للحملة:

"utm_campaign=my_campaign&utm_source=google&utm_medium=cpc&utm_term=my_keyword&utm_content=ad_variation1"

يوضّح الجدول أدناه قائمة كاملة بمَعلمات الحملات المتوفّرة التي يمكن استخدامها في Google Play أو القياس العام للحملات.

المَعلمة الوصف أمثلة
utm_campaign اسم الحملة الذي يُستخدم لتحليل الكلمات الرئيسية لتحديد ترويج منتج معيّن أو حملة استراتيجية معيّنة utm_campaign=spring_sale
utm_source مصدر الحملة: يُستخدم لتحديد محرك بحث أو نشرة إخبارية أو مصدر آخر utm_source=google
utm_medium وسيط الحملة؛ يُستخدم لتحديد وسيط مثل البريد الإلكتروني أو تكلفة النقرة (CPC) utm_medium=cpc
utm_term عبارة الحملة؛ تُستخدم مع نتائج البحث المدفوعة لتوفير الكلمات الرئيسية للإعلانات utm_term=running+shoes
utm_content محتوى الحملة؛ يُستخدم لاختبار A/B والإعلانات التي تستهدف المحتوى للتمييز بين الإعلانات أو الروابط التي تشير إلى عنوان URL نفسه. utm_content=logolink
utm_content=textlink
gclid معلَمة وضع العلامات التلقائي في "إعلانات Google"، تُستخدم لقياس "إعلانات Google". يتم إنشاء هذه القيمة ديناميكيًا ويجب عدم تعديلها مطلقًا.

أداة إنشاء عناوين URL في Google Play

استخدِم أداة إنشاء عناوين URL على Google Play لإنشاء عناوين URL لقياس الحملات على Google Play.