เอกสารนี้จะแสดงภาพรวมของวิธีวัดการชำระเงินในแอปและ รายได้โดยใช้ Google Analytics SDK สำหรับ Android v3
ภาพรวม
การวัดอีคอมเมิร์ซช่วยให้คุณส่งยอดขายและการซื้อในแอปไปยัง Google Analytics ได้ ข้อมูลอีคอมเมิร์ซใน Google Analytics ประกอบด้วยธุรกรรมและ Hit ของรายการ ซึ่งเกี่ยวข้องกันโดยรหัสธุรกรรมที่ใช้ร่วมกัน
ธุรกรรมมีช่องต่อไปนี้
ชื่อช่อง | ฟิลด์เครื่องมือติดตาม | ประเภท | จำเป็น | คำอธิบาย |
---|---|---|---|---|
รหัสธุรกรรม | Fields.TRANSACTION_ID
|
String
|
ได้ | รหัสที่ไม่ซ้ำกันซึ่งแสดงธุรกรรม รหัสนี้ไม่ควรขัดแย้งกับรหัสธุรกรรมอื่นๆ |
แอฟฟิลิเอต | Fields.TRANSACTION_AFFILIATION
|
String
|
ได้ | บุคคลที่ควรมีส่วนเกี่ยวข้องกับธุรกรรม (เช่น ร้านค้าหนึ่งๆ) |
รายได้ | Fields.TRANSACTION_REVENUE
|
Double
|
ได้ | รายได้ทั้งหมดของธุรกรรม รวมภาษีและค่าจัดส่ง |
ภาษี | Fields.TRANSACTION_TAX
|
Double
|
ได้ | ภาษีรวมสำหรับธุรกรรม |
การจัดส่ง | Fields.TRANSACTION_SHIPPING
|
Double
|
ได้ | ค่าจัดส่งรวมสำหรับธุรกรรม |
รหัสสกุลเงิน | Fields.CURRENCY_CODE
|
String
|
ไม่ได้ | สกุลเงินท้องถิ่นของธุรกรรม ค่าเริ่มต้นเป็นสกุลเงินของข้อมูลพร็อพเพอร์ตี้ (โปรไฟล์) ที่ใช้ดูธุรกรรม |
รายการจะมีช่องต่อไปนี้
ชื่อช่อง | ฟิลด์เครื่องมือติดตาม | ประเภท | จำเป็น | คำอธิบาย |
---|---|---|---|---|
รหัสธุรกรรม | Fields.TRANSACTION_ID
|
String
|
ได้ | รหัสธุรกรรมที่ควรเชื่อมโยงกับสินค้า |
ชื่อ | Fields.ITEM_NAME
|
String
|
ได้ | ชื่อผลิตภัณฑ์ |
SKU | Fields.ITEM_SKU
|
String
|
ได้ | SKU ของผลิตภัณฑ์ |
หมวดหมู่ | Fields.ITEM_CATEGORY
|
String
|
ไม่ได้ | หมวดหมู่ที่มีผลิตภัณฑ์ดังกล่าว |
ราคา | Fields.ITEM_PRICE
|
Double
|
ได้ | ราคาของผลิตภัณฑ์ |
จำนวน | Fields.ITEM_QUANTITY
|
Long
|
ได้ | จำนวนผลิตภัณฑ์ |
รหัสสกุลเงิน | Fields.CURRENCY_CODE
|
String
|
ไม่ได้ | สกุลเงินท้องถิ่นของธุรกรรม ค่าเริ่มต้นเป็นสกุลเงินของข้อมูลพร็อพเพอร์ตี้ (โปรไฟล์) ที่มีการรายงานธุรกรรม |
ข้อมูลอีคอมเมิร์ซจะใช้ในรายงานมาตรฐานต่อไปนี้เป็นหลัก
- ภาพรวมอีคอมเมิร์ซ
- ประสิทธิภาพผลิตภัณฑ์
- ประสิทธิภาพการขาย
- ธุรกรรม
- ระยะเวลาจนถึงวันซื้อ
การใช้งาน
การส่งธุรกรรมและข้อมูลสินค้าไปยัง Google Analytics จำเป็นต้องมีการตั้งค่า ค่าธุรกรรมและช่องรายการในตัวติดตามและส่งครั้งละ 1 รายการ เช่น
import android.app.Activity; import com.google.analytics.tracking.android.EasyTracker; import com.google.analytics.tracking.android.MapBuilder; public class CheckoutActivity extends Activity { /* * Called when a purchase is processed and verified. */ public void onPurchaseCompleted() { // May return null if EasyTracker has not yet been initialized with a // property ID. EasyTracker easyTracker = EasyTracker.getInstance(this); easyTracker.send(MapBuilder .createTransaction("0_123456", // (String) Transaction ID "In-app Store", // (String) Affiliation 2.16d, // (Double) Order revenue 0.17d, // (Double) Tax 0.0d, // (Double) Shipping "USD") // (String) Currency code .build() ); easyTracker.send(MapBuilder .createItem("0_123456", // (String) Transaction ID "Level Pack: Space", // (String) Product name "L_789", // (String) Product SKU "Game expansions", // (String) Product category 1.99d, // (Double) Product price 1L, // (Long) Product quantity "USD") // (String) Currency code .build() ); } // ... Rest of the Activity definition }
ช่องสกุลเงินอีคอมเมิร์ซรองรับค่าสกุลเงินที่ติดลบ ซึ่งอาจเป็นความจําเป็นในกรณีของการคืนเงินหรือการคืนสินค้า
การระบุสกุลเงิน
โดยค่าเริ่มต้น ระบบจะถือว่ามูลค่าธุรกรรมเป็นสกุลเงินของข้อมูลพร็อพเพอร์ตี้ (โปรไฟล์) ที่มีการรายงาน
หากต้องการลบล้างสกุลเงินท้องถิ่นของธุรกรรมและผลิตภัณฑ์ที่เกี่ยวข้อง ให้ตั้งค่าช่องรหัสสกุลเงินของรายการและ Hit ของรายการด้วยรหัสสกุลเงินใหม่ ดูรายการสกุลเงินและรหัสสกุลเงินที่รองรับทั้งหมดได้ใน ข้อมูลอ้างอิงสกุลเงินที่รองรับ
import android.app.Activity; import com.google.analytics.tracking.android.EasyTracker; import com.google.analytics.tracking.android.MapBuilder; public class CheckoutActivity extends Activity { /** * In this example, the currency of the transaction is set to Euros. The * currency values will appear in reports using the global currency * type of the view (profile). */ public void onPurchaseCompleted() { // Assumes a tracker has already been initialized with a property ID, otherwise // this call returns null. EasyTracker easyTracker = EasyTracker.getInstance(this); easyTracker.send(MapBuilder .createTransaction("0_123456", // (String) Transaction ID, should be unique among transactions. "In-app Store", // (String) Affiliation (long) 2.16, // (long) Order revenue (includes tax and shipping) (long) 0.17, // (long) Tax 0.0, // (long) Shipping cost "EUR") // (String) Currency code .build(); } // ... Rest of the Activity definition. }