การทดสอบ A/B สําหรับสื่อกลาง

AdMob API สามารถสร้างการทดสอบ A/B ของสื่อกลางเพื่อเพิ่มประสิทธิภาพโฆษณาให้สูงสุด ด้วยการทดสอบการกำหนดค่าต่างๆ การทดสอบ A/B ช่วยให้คุณประเมินกลุ่มสื่อกลาง 2 แบบเพื่อเปรียบเทียบผลลัพธ์แบบคู่กันและเลือกการกำหนดค่าที่ต้องการ

ตัวอย่างการทดสอบที่คุณตั้งค่าได้มีดังนี้

  • เพิ่มหรือนําแหล่งที่มาของโฆษณาออกเพื่อดูผลกระทบต่อกลุ่มสื่อกลาง
  • ใช้ลําดับของการแสดงวิดีโอตามลำดับขั้นต่างๆ โดยการเปลี่ยนค่า eCPM ของแหล่งที่มาของโฆษณาด้วยตนเอง
  • เปิดหรือปิดใช้การเพิ่มประสิทธิภาพในแหล่งที่มาของโฆษณาสื่อกลางตามลำดับขั้น
  • เปลี่ยนจํานวนครั้งที่มีการเรียกแหล่งที่มาของโฆษณา

ตัวอย่าง

เริ่มต้นด้วยกลุ่มสื่อกลางที่มีอยู่และสร้างอีกกลุ่มเป็นตัวแปรเพื่อดูว่า ตัวแปรใด ตัวแปร A หรือตัวแปร B มีประสิทธิภาพมากกว่า การทดสอบจะแยกผู้ใช้แอป ระหว่างการตั้งค่ากลุ่มสื่อกลางที่มีอยู่กับกลุ่มสื่อกลางที่เป็นตัวแปร โดยอิงตาม เปอร์เซ็นต์ (1%, 10% หรือ 50%) ที่คุณระบุ

curl (บรรทัดคำสั่ง)

คำขอที่ใช้ curl

  1. โหลดไฟล์รหัสลับไคลเอ็นต์และสร้างข้อมูลเข้าสู่ระบบการให้สิทธิ์

    ครั้งแรกที่คุณทำตามขั้นตอนนี้ ระบบจะขอให้คุณยอมรับ ข้อความแจ้งการให้สิทธิ์ในเบราว์เซอร์ ก่อนที่จะยอมรับ โปรดตรวจสอบว่าคุณได้ ลงชื่อเข้าใช้ด้วยบัญชี Google ที่มีสิทธิ์เข้าถึง AdMob API แอปของคุณจะได้รับอนุญาตให้เข้าถึงข้อมูลในนามของบัญชีที่เข้าสู่ระบบอยู่ในปัจจุบัน

    สำหรับการตรวจสอบสิทธิ์และการให้สิทธิ์ เราขอแนะนำให้ใช้ oauth2l ซึ่งเป็นเครื่องมือบรรทัดคำสั่งที่ใช้งานง่ายสำหรับ การทำงานกับ Google OAuth 2.0 ติดตั้ง oauth2l และเรียกใช้คำสั่งด้านล่าง โดยแทนที่ path_to_credentials_json ด้วยเส้นทางไปยังไฟล์ credentials.json ที่คุณดาวน์โหลดเมื่อลงทะเบียนแอปในระบบคลาวด์ ในการเรียกใช้ครั้งแรก คำสั่งจะแนะนำขั้นตอนการให้สิทธิ์ OAuth 2.0 การเรียกใช้ครั้งต่อๆ ไปจะรีเฟรชโทเค็นโดยอัตโนมัติ

    oauth2l header --json path_to_credentials_json --scope admob.monetization,admob.readonly
    
  2. สร้างการทดสอบ A/B ของสื่อกลาง

    แทนที่ pub-XXXXXXXXXXXXXXXX ด้วยรหัสผู้เผยแพร่โฆษณา และแทนที่ ZZZZZZZZZZ ด้วยรหัสกลุ่มสื่อกลาง คุณดูรหัสกลุ่มสื่อกลางได้ใน UI ของ AdMob หรือ โดยใช้เมธอด accounts.mediationGroups:list

    คุณต้องระบุ treatmentMediationLines และ treatmentTrafficPercentage อย่างไรก็ตาม controlMediationLines จะรับค่ามาจากกลุ่มสื่อกลางหลักและไม่จำเป็นต้อง ระบุ

    คำขอต่อไปนี้จะสร้างการทดสอบ A/B ของสื่อกลางที่ตัวแปรกลุ่มทดสอบ หรือที่เรียกว่าตัวแปร B มีบรรทัดสื่อกลางรายการเดียวสำหรับเครือข่าย AdMob โดยใช้โหมด LIVE

    curl --http1.0 \
    -X POST https://admob.googleapis.com/v1beta/accounts/pub-XXXXXXXXXXXXXXXX/mediationGroups/ZZZZZZZZZZ/mediationAbExperiments \
    -H "Content-Type:application/json" \
    -H "$(oauth2l header --json path_to_credentials_json --scope admob.monetization)" \
    --data @- << EOF
    {
      "displayName":"Mediation A/B Experiment Test Name",
      "treatmentTrafficPercentage": "50",
      "treatmentMediationLines": [{
        "mediationGroupLine": {
          "displayName": "Test mediation group line",
          "adSourceId": "5450213213286189855",
          "cpm_mode": "LIVE"
        }
      }]
    }
    EOF

    ดูการตอบกลับตัวอย่างด้านล่างซึ่ง SSSSSSSSSSSSSSSSSSSSSS แสดงถึง รหัสการทดสอบ A/B ของสื่อกลางที่สร้างขึ้น และ YYYYYYYYYY แสดงถึง ตัวเลข 10 หลักสุดท้ายของรหัสหน่วยโฆษณาตามรูปแบบ ca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYY

    {
      "name": "accounts/pub-XXXXXXXXXXXXXXXX/mediationGroups/ZZZZZZZZZZ/mediationAbExperiments/SSSSSSSSSSSSSSSSSSSSSS",
      "displayName": "Mediation A/B Experiment Test Name",
      "experimentId": "SSSSSSSSSSSSSSSSSSSSSS",
      "treatmentTrafficPercentage": "50",
      "treatmentMediationLines": [
        {
          "mediationGroupLine": {
            "id": "11111111111111111",
            "displayName": "Test mediation group line",
            "adSourceId": "5450213213286189855",
            "cpmMode": "LIVE",
            "cpmMicros": "10000",
            "adUnitMappings": {
              "ca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYY": "accounts/pub-XXXXXXXXXXXXXXXX/adUnits/YYYYYYYYYY/adUnitMappings/
              "ca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYY": "accounts/pub-XXXXXXXXXXXXXXXX/adUnits/YYYYYYYYYY/adUnitMappings/
            },
            "state": "ENABLED"
          }
        }
      ],
      "controlMediationLines": [
        {
          "mediationGroupLine": {
            "id": "22222222222222222",
            "displayName": "AdMob Network (control)",
            "adSourceId": "5450213213286189855",
            "cpmMode": "LIVE",
            "cpmMicros": "10000",
            "adUnitMappings": {
              "ca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYY": "accounts/pub-XXXXXXXXXXXXXXXX/adUnits/YYYYYYYYYY/adUnitMappings/
              "ca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYY": "accounts/pub-XXXXXXXXXXXXXXXX/adUnits/YYYYYYYYYY/adUnitMappings/
            },
            "state": "ENABLED"
          }
        }
      ],
      "state": "RUNNING"
    }
  3. ยืนยันว่าการทดสอบ A/B สำหรับสื่อกลางทำงานอยู่

    เรียกใช้ accounts.mediationGroups:list เพื่อรับสถานะการทดสอบ A/B ของสื่อกลางสําหรับกลุ่มสื่อกลางนั้น ดูรายละเอียดเพิ่มเติมได้ที่ คำแนะนำเกี่ยวกับกลุ่มสื่อกลาง

    mediationAbExperimentState ตั้งค่าเป็น RUNNING สำหรับการทดสอบ A/B ของสื่อกลางที่ใช้งานอยู่ และ NOT_RUNNING หากไม่มีการทดสอบที่กําลังทํางานในกลุ่มสื่อกลาง

    ตัวอย่างคำขอ

     curl --http1.0 \
    -X GET https://admob.googleapis.com/v1beta/accounts/pub-XXXXXXXXXXXXXXXX/mediationGroups \
    -H "$(oauth2l header --json path_to_credentials_json --scope admob.readonly)"
    
  4. หยุดการทดสอบ A/B ของสื่อกลางและเลือกตัวแปร

    แทนที่ pub-XXXXXXXXXXXXXXXX ด้วยรหัสผู้เผยแพร่โฆษณา และแทนที่ ZZZZZZZZZZ ด้วยรหัสกลุ่มสื่อกลาง คุณดูรหัสกลุ่มสื่อกลางได้ใน UI ของ AdMob หรือ โดยใช้เมธอด accounts.mediationGroups:list

    หากต้องการทำการทดสอบให้เสร็จสมบูรณ์ ให้ระบุตัวแปรที่ชนะในคำขอ

    • VARIANT_CHOICE_A: ใช้บรรทัดสื่อกลางจากตัวแปร A และทำการทดสอบให้เสร็จสมบูรณ์ ตัวแปร A มีบรรทัดการแสดงผลเดิมก่อน การสร้างการทดสอบ
    • VARIANT_CHOICE_B: ใช้รูปแบบบรรทัดสื่อกลางของตัวแปร B และทำการทดสอบให้เสร็จสมบูรณ์ ตัวแปร B มีบรรทัดการแสดงโฆษณาที่เพิ่งเพิ่มใหม่

    ตัวอย่างคำขอ

     curl --http1.0 \
    -X POST https://admob.googleapis.com/v1beta/accounts/pub-XXXXXXXXXXXXXXXX/mediationGroups/ZZZZZZZZZZ/mediationAbExperiments:stop \
    -H "Content-Type:application/json" \
    -H "$(oauth2l header --json path_to_credentials_json --scope admob.monetization)" \
    --data @- << EOF
    {
    "variantChoice": "VARIANT_CHOICE_A"
    }
    

    ตัวอย่างการตอบกลับ

    {
    "experimentId": "SSSSSSSSSSSSSSSSSSSSSS",
    "state": "EXPIRED",
    }