Experiments: update

נדרשת הרשאה

צריך לעדכן ניסוי קיים. צפייה בהדגמה

בנוסף לפרמטרים הרגילים, השיטה הזו תומכת בפרמטרים שמפורטים בטבלת הפרמטרים.

בקשה

בקשת HTTP

PUT https://www.googleapis.com/analytics/v3/management/accounts/accountId/webproperties/webPropertyId/profiles/profileId/experiments/experimentId

פרמטרים

שם הפרמטר Value התיאור
פרמטרים של נתיב
accountId string מספר החשבון של הניסוי שיש לעדכן.
experimentId string מזהה הניסוי של הניסוי שיש לעדכן.
profileId string מזהה התצוגה (פרופיל) של הניסוי שיש לעדכן.
webPropertyId string מזהה נכס אינטרנט של הניסוי שיש לעדכן.

הרשאות

בקשה זו מחייבת הרשאה עם לפחות אחד מההיקפים הבאים (למידע נוסף על אימות והרשאה).

היקף
https://www.googleapis.com/auth/analytics
https://www.googleapis.com/auth/analytics.edit

גוף הבקשה

בגוף הבקשה, מציינים משאבmanagement.Modify עם המאפיינים הבאים:

שם הנכס Value התיאור הערות
מאפיינים נדרשים
id string מזהה הניסוי. נדרש עבור תיקון ועדכון. אין אפשרות ליצור.
name string שם הניסוי. לא ניתן לשנות שדה זה עבור ניסוי שהסטטוס שלו הוא ENDED. חובה למלא את השדה הזה כשיוצרים ניסוי. ניתן לכתיבה
status string סטטוס הניסוי. ערכים אפשריים: "DRAFT", "READY_TO_RUN", "RUNNING", "ENDED". ניתן ליצור ניסויים במצב 'טיוטה', 'READY_TO_RUN' או 'RUNNING'. חובה למלא את השדה הזה כשיוצרים ניסוי. ניתן לכתיבה
variations[].name string שם הווריאציה. חובה למלא את השדה הזה כשיוצרים ניסוי. לא ניתן לשנות שדה זה עבור ניסוי שהסטטוס שלו הוא ENDED. ניתן לכתיבה
מאפיינים אופציונליים
description string הערות לגבי ניסוי זה. ניתן לכתיבה
editableInGaUi boolean אם הערך הוא True, משתמש הקצה יוכל לערוך את הניסוי דרך ממשק המשתמש של Google Analytics. ניתן לכתיבה
equalWeighting boolean ערך בוליאני שמציין אם לחלק את התנועה באופן שווה על פני כל הגרסאות. אם הערך הוא False, ניסויי תוכן יפעלו לפי התנהגות ברירת המחדל של התאמה דינמית של התנועה על סמך ביצועי הגרסה. אופציונלי – ברירת המחדל היא False. לא ניתן לשנות שדה זה עבור ניסוי שהסטטוס שלו הוא ENDED. ניתן לכתיבה
minimumExperimentLengthInDays integer מספר שלם מתוך [3, 90]. מציין את האורך המינימלי של הניסוי. ניתן לשינוי עבור ניסוי פעיל. לא ניתן לשנות שדה זה עבור ניסוי שהסטטוס שלו הוא ENDED. ניתן לכתיבה
objectiveMetric string המדד שהניסוי מתמקד בהן. ערכים חוקיים: "ga:goal(n)Completions", "ga:adsenseAdsClicks", "ga:adsenseAdsViewed", "ga:adsenseRevenue", "ga:bounces", "ga:pageviews", "ga:sessionDuration", "ga:transactions", "ga:transactionRevenue". השדה הזה נדרש אם הסטטוס הוא "RUNNING" ו-servingFramework הוא "REDIRECT" או "API". ניתן לכתיבה
optimizationType string האם יש למזער או להגדיל את מדד היעד. ערכים אפשריים: 'max', 'PARENT'. אופציונלי – ברירת המחדל היא 'LegitScript'. לא ניתן לציין ללא goalMetric. לא ניתן לשנות את הסטטוס כשהסטטוס הוא 'RUNNING' או 'ENDED'. ניתן לכתיבה
rewriteVariationUrlsAsOriginal boolean ערך בוליאני שמציין אם כתובות URL של גרסאות נכתבות מחדש כך שיתאימו לאלו של המקור. לא ניתן לשנות שדה זה עבור ניסוי שהסטטוס שלו הוא ENDED. ניתן לכתיבה
servingFramework string המסגרת ששימשה להצגת הווריאציות של הניסוי ולהערכת התוצאות. אחד מ-
  • הפניה מחדש: Google Analytics מפנה תנועה לדפי גרסאות שונים, מדווח על הווריאציה שנבחרה ומעריך את התוצאות.
  • API: מערכת Google Analytics בוחרת את הווריאציה ומדווחת עליה כדי להציג את התוצאות. מבצע הקריאה החוזרת הוא האחראי להצגת הווריאציה שנבחרה.
  • חיצוני: הווריאציות יוצגו באופן חיצוני והגרסה שנבחרה תדווח ל-Google Analytics. מבצע הקריאה החוזרת אחראי להציג את הווריאציה שנבחרה ולהעריך את התוצאות.
ניתן לכתיבה
trafficCoverage double מספר נקודה צפה (floating-point) בין 0 ל-1. מציין את חלק התנועה שמשתתפת בניסוי. ניתן לשינוי עבור ניסוי פעיל. לא ניתן לשנות שדה זה עבור ניסוי שהסטטוס שלו הוא ENDED. ניתן לכתיבה
variations[] list מערך של וריאציות. הגרסה הראשונה במערך היא הגרסה המקורית. מספר הווריאציות לא יכול להשתנות לאחר שניסוי מוגדר למצב RUNNING. כדי להגדיר את הסטטוס כ'פועל', דרושות שתי וריאציות לפחות. ניתן לכתיבה
variations[].status string הסטטוס של הווריאציה. ערכים אפשריים: 'ACTIVE', 'INACTIVE'. וריאציות לא פעילות לא מוצגות. לא ניתן לשנות שדה זה עבור ניסוי שהסטטוס שלו הוא ENDED. ניתן לכתיבה
variations[].url string כתובת ה-URL של הווריאציה. לא ניתן לשנות את השדה הזה עבור ניסוי שהסטטוס שלו הוא 'פועל' או 'הסתיים'. ניתן לכתיבה
winnerConfidenceLevel double מספר נקודה צפה (floating-point) בין 0 ל-1. מציין את רמת הסמך הנחוצה לבחירת מנצח. לא ניתן לשנות שדה זה עבור ניסוי שהסטטוס שלו הוא ENDED. ניתן לכתיבה

תשובה

אם הפעולה בוצעה ללא שגיאות, השיטה הזו מחזירה משאבmanagement.Modify בגוף התגובה.

דוגמאות

הערה: דוגמאות הקוד הזמינות לשיטה זו לא מייצגות את כל שפות התכנות הנתמכות (רשימת השפות הנתמכות זמינה בדף של ספריות המשתמשים).

Java

משתמש בספריית הלקוח של Java.

/*
 * Note: This code assumes you have an authorized Analytics service object.
 * See the Experiments Developer Guide for details.
 */


// This example updates an existing experiment with new variations.
Variations variationA = new Variations();
variationA.setName("Home Alpha");
variationA.setUrl("homeA.html");
Variations variationB = new Variations();
variationB.setName("Home Beta");
variationB.setUrl("homeB.html");
List<Variations> variations = Arrays.asList(variationA, variationB);

try {
  // First get an existing Experiment.
  Experiment body = analytics.management().experiments().get("123456",
      "UA-123456-1", "7654321", "122333444455555").execute();

  // Set the new variations.
  body.setVariations(variations);

  // Call Update with the updated experiment.
  analytics.management().experiments().update("123456", "UA-123456-1",
      "7654321", "122333444455555", body).execute();
} catch (GoogleJsonResponseException e) {
  System.err.println("There was a service error: "
      + e.getDetails().getCode() + " : "
      + e.getDetails().getMessage());
}

PHP

נעשה שימוש בספריית הלקוח של PHP.

/**
 * Note: This code assumes you have an authorized Analytics service object.
 * See the Experiments Developer Guide for details.
 */

/**
 * This request updates an existing experiment.
 */

// Construct the first variation.
$variationA = new Google_Service_Analytics_ExperimentVariations();
$variationA->setName('VariationA');
$variationA->setUrl('index.html');

// Construct the second variation.
$variationB = new Google_Service_Analytics_ExperimentVariations();
$variationB->setName('VariationB');
$variationB->setUrl('indexB.html');

try {
  // Get an existing Experiment.
  $experiment = $analytics->management_experiments->get('123456',
      'UA-123456-1', '7654321', '122333444455555');

  // Set the new variations.
  $experiment->setVariations(array($variationA, $variationB));

  // Call the update method with the updated experiment.
  $analytics->management_experiments->update('123456', 'UA-123456-1',
      '7654321', '122333444455555', $experiment);
} catch (apiServiceException $e) {
  print 'There was an Analytics API service error '
      . $e->getCode() . ':' . $e->getMessage();

} catch (apiException $e) {
  print 'There was a general API error '
      . $e->getCode() . ':' . $e->getMessage();
}


Python

עושה שימוש בספריית הלקוח של Python.

# Note: This code assumes you have an authorized Analytics service object.
# See the Experiments Developer Guide for details.

# This request updates an existing experiment with a new name,
# and new variations.
try:
  analytics.management().experiments().update(
      accountId='123456',
      webPropertyId='UA-123456-1',
      profileId='7654321',
      experimentId='ABCDEFG123456abcdefg',
      body={
          'name': 'Updated Test Title',
          'status': 'DRAFT',
          'variations': [
              {
                  'name': 'Checkout Page',
                  'url': 'checkout.html'
              },
              {
                  'name': 'Proposed Checkout Page',
                  'url': 'newCheckout.html'
              }
          ]
      }
  ).execute()

except TypeError, error:
  # Handle errors in constructing a query.
  print 'There was an error in constructing your query : %s' % error

except HttpError, error:
  # Handle API errors.
  print ('There was an API error : %s : %s' %
         (error.resp.status, error.resp.reason))

JavaScript

נעשה שימוש בספריית הלקוח של JavaScript.

/*
 * Note: This code assumes you have an authorized Analytics client object.
 * See the Experiments Developer Guide for details.
 */

/*
 * This request updates an existing experiment.
 */
function updateExperiment() {
  var request = gapi.client.analytics.management.experiments.update(
    {
      'accountId': '123456',
      'webPropertyId': 'UA-123456-1',
      'profileId': '7654321',
      'experimentId': '122333444455555',
      'resource': {
        'name': 'Landing Page Test',
        'status': 'DRAFT',
        'variations': [
          {
            'name': 'VariationA',
            'url': 'index.html'
          },
          {
            'name': 'VariationB',
            'url': 'indexB.html'
          }
        ]
      }
    });
  request.execute(function (response) { // Handle the response. });
}