يمكنك الاتصال بالرقم Conversion.update()
.
لإجراء أنواع التغييرات التالية على إحالة ناجحة حالية واحدة أو أكثر:
- تعديل الأرباح أو رمز العملة أو الكمية
- تعديل advertiser-provided ومُعرّف الطلب وأي مخصص متغيّرات Floodlight
- أزِل الإحالة الناجحة من خلال تغيير
conversion.state
. منACTIVE
إلىREMOVED
لا تتيح "إعلانات شبكة البحث 360" تغيير ما يلي:
- تاريخ الإحالة الناجحة.
- نوع الإحالة الناجحة
- الكلمة الرئيسية أو الزيارة المنسوبة إلى الإحالة الناجحة
- اسم نشاط أو نشاط Floodlight
ومع ذلك، يمكنك دائمًا وضع علامة "تمّت الإزالة" على إحالة ناجحة حالية وتحميل إحالة ناجحة جديدة.
مع التاريخ أو النوع أو أرقام تعريف تحديد المصدر أو نشاط Floodlight المعدّل (احرص على تحديد
conversionId
جديدة أيضًا).
كما هي الحال مع Conversion.insert()
، إذا كان طلب التحديث يحدد عدة خيارات
الإحالات الناجحة، تحاول "إعلانات شبكة البحث 360" تعديل كل إحالة ناجحة وفقًا لأفضل جهد
بدلاً من تحديث الدُفعة بأكملها كمعاملة شاملة أو لا تحتاج إلى أي إجراء. إذا كانت هناك بعض التحديثات في
فشل الدفعة، فقد ينجح البعض الآخر. ننصحك بقراءة
الاستجابة لكل إحالة ناجحة يتم تعديلها لضمان نجاح هذا التعديل.
إرسال طلب تعديل
تُستخدم معظم الحقول التي تحدّدها في Conversion.update()
للأغراض التالية:
لتحديد الإحالات الناجحة التي تريد تعديلها. يمكنك استخدام أي مما يلي
الأساليب المستخدمة لتحديد إحالة ناجحة حالية:
- تحديد
clickId
للإحالة الناجحة- يجب أن تكون جميع الإحالات الناجحة التي يتم تعديلها خلال 60 يومًا من وقت إنشاء معرّف النقرة.
- تحديد
criterionId
للإحالة الناجحة (رقم تعريف الكلمة الرئيسية)
تتطلّب كلتا الوسيلتين تحديد قيمتَي conversionId
وconversionTimestamp
للإحالة الناجحة.
والمعاملة type
.
بالإضافة إلى ذلك، إذا حددت الإحالة الناجحة الأصلية revenueMicros
وcurrencyCode
أو quantityMillis
، يجب أن يحدد طلب التعديل هذه البيانات حتى إذا
لا يتم تغييرها.
تحديد الإحالة الناجحة حسب معرّف النقرة
إذا حددت الإحالة الناجحة في الأصل معرّف نقرة، يمكنك إرسال Conversion.update()
يحدد الحقول التالية:
clickId
conversionId
conversionTimestamp
type
state
(مطلوب فقط إذا كنت تريد تغيير الولاية إلى "تمت الإزالة" أو نشطة)quantityMillis
(فقط إذا تم تحديدها في الإحالة الناجحة الأصلية)revenueMicros
(فقط إذا تم تحديدها في الإحالة الناجحة الأصلية)currencyCode
(فقط إذا تم تحديدها في الإحالة الناجحة الأصلية)
مثال
في ما يلي مثال على إحالتَين ناجحتَين حاليتَين:
{ "kind": "doubleclicksearch#conversionList", "conversion" : [{ "clickId" : "COiYmPDTv7kCFcP0KgodOzQAAA", "conversionId" : "test_20130906_10", "conversionTimestamp" : "1378710000000", "segmentationType" : "FLOODLIGHT", "segmentationName" : "Test", "type": "TRANSACTION", "revenueMicros": "100000000", // 100 million revenueMicros is equivalent to $100 of revenue "currencyCode": "USD" }, { "clickId": "COiYmPDTv7kCFcP0KgodOzQAAA", "conversionId": "test_1383337059137", "conversionTimestamp": "1378710000000", "segmentationType" : "FLOODLIGHT", "segmentationName" : "Test", "type": "ACTION", "quantityMillis": "1000" }] }
يعدّل الطلب التالي إحدى الإحالات الناجحة من المثال السابق ويزيله. الآخر:
JSON
يُرجى العلم أنّ طلب Conversion.update()
يستخدم عامل التشغيل PUT.
HTTP.
PUT https://www.googleapis.com/doubleclicksearch/v2/conversion Authorization: Bearer your OAuth 2.0 access token Content-type: application/json { "kind": "doubleclicksearch#conversionList", "conversion": [ { "clickId": "COiYmPDTv7kCFcP0KgodOzQAAA", // Replace with data from your site "conversionId": "test_20130906_10", "conversionTimestamp": "1378710000000", "type": "TRANSACTION", "revenueMicros": "90000000", // 90 million revenueMicros is equivalent to $90 of revenue "currencyCode": "USD" }, { "clickId": "COiYmPDTv7kCFcP0KgodOzQAAA", // Replace with data from your site "conversionId": "test_1383337059137", "conversionTimestamp": "1378710000000", "type": "ACTION", "quantityMillis": "1000", "state": "REMOVED" } ] }
Java
/** * Instantiate the Doubleclicksearch service, create a conversion that updates an existing conversion, * and upload the conversions. */ public static void main(String[] args) throws Exception { Doubleclicksearch service = getService(); // See Set Up Your Application. // Set up a List to keep track of each conversion you create. List<Conversion> conversions = new Vector<Conversion>(); // Create a conversion and add it to the conversion list. // Just to get a little fancy, the updateConversionFromVisit() method can be used for all // visit conversions, including conversions that don't specify quantity, revenue, or currency. // If quantityMillis wasn't specified in the original conversion, specify -1L for the // quantityMillis parameter. Likewise, if revenueMicros wasn't specified originally, // specify -1L for the revenueMicros parameter and an empty string for currency. conversionList = updateConversionFromVisit( conversionList, "COiYmPDTv7kCFcP0KgodOzQAAA", // clickId. Replace with data from your site "test_20130906_10", // conversionId 1378710000000L, // timeStamp "TRANSACTION", // type "", // state -1L, // quantityMillis 90000000L, // revenueMicros. Equivalent to $90 of revenue "USD"); // currencyCode // Here's a conversion that needs to be removed. Just set the state parameter to "REMOVED". conversionList = updateConversionFromVisit( conversionList, "COiYmPDTv7kCFcP0KgodOzQAAA", // clickId. Replace with data from your site "test_1383337059137", // conversionId 1378710000000L, // timeStamp "ACTION", // type "REMOVED", // state 1000L, // quantityMillis -1L, // revenueMicros ""); // currencyCode // Upload the List and handle the response. uploadConversions(conversions, service); // See an example in Add New Conversions. } /** * Create a conversion and add it to a List<Conversion>. */ private static List<Conversion> updateConversionFromVisit(List<Conversion> conversions, String clickId, String conversionId, Long timeStamp, String type, String state, Long quantity, Long revenue, String currency) { // Identifies the existing conversion. Conversion conversion = new Conversion() .setClickId(clickId) .setConversionId(conversionId) .setConversionTimestamp(BigInteger.valueOf(timeStamp)) .setType(type); // Only add these fields if the value is not empty greater than -1. if(!state.isEmpty()) conversion.setState(state); if (quantity > -1L) { conversion.setQuantityMillis(quantity); } if (revenue > -1L) { conversion.setRevenueMicros(revenue); if (!currency.isEmpty()) { conversion.setCurrencyCode(currency); } else { System.err.println(String.format( "Can't add conversion %s. It specifies revenue but no currency.", conversion.getConversionId())); return conversions; } } conversions.add(conversion); return conversions; }
Python
def update_conversion(service): """Change the revenue for one existing conversion and remove another. Args: service: An authorized Doubleclicksearch service. See Set Up Your Application. """ request = service.conversion().update( body= { 'conversion' : [{ 'clickId' : 'COiYmPDTv7kCFcP0KgodOzQAAA', // Replace with data from your site 'conversionId' : 'test_20130906_13', 'conversionTimestamp' : '1378710000000', 'segmentationType' : 'FLOODLIGHT', 'segmentationName' : 'Test', 'type': 'TRANSACTION', 'revenueMicros': '90000000', // 90 million revenueMicros is equivalent to $90 of revenue 'currencyCode': 'USD' }, { 'clickId': 'COiYmPDTv7kCFcP0KgodOzQAAA', // Replace with data from your site 'conversionId': 'test_1383337059137_01', 'conversionTimestamp': '1378710000000', 'segmentationType' : 'FLOODLIGHT', 'segmentationName' : 'Test', 'type': 'ACTION', 'quantityMillis': '1000', 'state': 'REMOVED' }] } ) pprint.pprint(request.execute())
تحديد الإحالة الناجحة حسب رقم تعريف الكلمة الرئيسية
إذا لم يكن بإمكانك الوصول إلى معرّف نقرة، أو إذا كانت الإحالة الناجحة منسوبة في الأصل إلى
كلمة رئيسية أو كلمة رئيسية/إعلان، يمكنك إرسال طلب Conversion.update()
تحدد الحقول التالية:
criterionId
(معرّف الكلمة الرئيسية)conversionId
conversionTimestamp
type
state
(مطلوب فقط إذا كنت تريد تغيير الولاية إلى "تمت الإزالة" أو نشطة)quantityMillis
(فقط إذا تم تحديدها في الإحالة الناجحة الأصلية)revenueMicros
(فقط إذا تم تحديدها في الإحالة الناجحة الأصلية)currencyCode
(فقط إذا تم تحديدها في الإحالة الناجحة الأصلية)
يمكنك اختياريًا تحديد أرقام تعريف أخرى، مثل رقم تعريف إعلان الإحالة الناجحة أو رقم تعريف الحملة وما إلى ذلك، لكنك لا تحتاج إليها. لا تحتاج "إعلانات شبكة البحث 360" إلا إلى أرقام التعريف الواردة في القائمة أعلاه من أجل لتحديد إحالة ناجحة حالية.
مثال
في ما يلي مثال على إحالة ناجحة حالية:
{ "kind": "doubleclicksearch#conversionList", "conversion" : [{ "agencyId": "12300000000000456", "advertiserId": "45600000000010291", "engineAccountId": "700000000042441", "campaignId": "71700000002044839", "adGroupId": "58700000032026064", "criterionId": "43700004289911004", "adId": "44700000155906860", "conversionId": "test_1383157519886", "conversionTimestamp": "1378710000000", "type": "ACTION", "quantityMillis": "1000", "segmentationType": "FLOODLIGHT", "segmentationName": "Test" }] }
يعدِّل الطلب التالي الطابع الزمني للإحالة الناجحة:
JSON
يُرجى العلم أنّ طلب Conversion.update()
يستخدم عامل التشغيل PUT.
HTTP.
PUT https://www.googleapis.com/doubleclicksearch/v2/conversion Authorization: Bearer your OAuth 2.0 access token Content-type: application/json { "kind": "doubleclicksearch#conversionList", "conversion": [ { "criterionId": "43700004289911004", // Replace with your ID "conversionId": "test_1383157519886", "conversionTimestamp": "1378710000000", "type": "ACTION", "quantityMillis": "3000" } ] }
Java
// Send conversion data to updateConversion, which creates a conversion and adds it // to the conversion list. conversionList = updateConversionFromKeyword(conversionList, 43700004289911004L, // criterionId. Replace with your ID "test_1383157519886", // conversionId 1378710000000L, // timeStamp "ACTION", // type "", // state 3000L, // quantityMillis -1L, // revenueMicros ""); // currencyCode private static List<Conversion> updateConversionFromKeyword(List<Conversion> conversions, Long criterionId, String conversionId, Long timeStamp, String type, String state, Long quantity, Long revenue, String currency ) { Conversion conversion = new Conversion() .setCriterionId(criterionId) .setConversionId(conversionId) .setConversionTimestamp(BigInteger.valueOf(timeStamp)) .setType(type); // Only add these fields if the value is not empty greater than -1. if(!state.isEmpty()) conversion.setState(state); if (quantity > -1L) { conversion.setQuantityMillis(quantity); } if (revenue > -1L) { conversion.setRevenueMicros(revenue); if (!currency.isEmpty()) { conversion.setCurrencyCode(currency); } else { System.err.println(String.format( "Can't add conversion %s. It specifies revenue but no currency.", conversion.getConversionId())); return conversions; } } conversions.add(conversion); return conversions; }
Python
def update_conversion(service): """Change the timestamp of a conversion. Use only the keyword id (criterionId) to identify the conversion. Args: service: An authorized Doubleclicksearch service. See Set Up Your Application. """ request = service.conversion().update( body= { 'conversion': [{ 'criterionId': '43700004289911004', // Replace with your ID 'conversionId': 'test_1383157519886', 'conversionTimestamp': '1378760000000', 'type': 'ACTION', 'quantityMillis': '1000' }] } ) pprint.pprint(request.execute())
التعامل مع ردود "إعلانات شبكة البحث 360"
الرد على طلب التحديث هو نفس الرد على الإدخال الطلب: تشير "إعلانات شبكة البحث 360" إلى النجاح فقط إذا كانت جميع الإحالات الناجحة في الطلب تم تحديثه بنجاح.
إذا نجح الطلب، ستتضمّن الاستجابة تجربة "إعلانات شبكة البحث 360" الداخلية بالكامل. التمثيل لكل إحالة ناجحة تم تعديلها، مثل رقم تعريف الحملة ورقم تعريف المجموعة الإعلانية والكلمة الرئيسية (المعيار).
إذا تعذّر التحقّق من تعديل واحد أو أكثر أو تحميله، يعني ذلك تعذُّر التحقّق من الاستجابة. الرسائل لكل تحديث إخفاق. لا يحتوي الرد على رسائل حول الإحالات الناجحة التي تم تحديثها بنجاح. للحصول على مزيد من المعلومات حول رسائل الخطأ هذه، يُرجى الاطّلاع على الاسم المعرِّف ردود "إعلانات شبكة البحث 360" لطلبات الإدراج.