एक या उससे ज़्यादा मौजूदा कन्वर्ज़न में, इस तरह के बदलाव करने के लिए Conversion.update()
तरीका इस्तेमाल करें:
- आय, मुद्रा कोड या संख्या में बदलाव करें.
- विज्ञापन देने वाले के दिए गए ऑर्डर आईडी और किसी भी कस्टम Floodlight वैरिएबल में बदलाव करें.
conversion.state
कोACTIVE
से बदलकरREMOVED
पर सेट करके, कन्वर्ज़न हटाएं.
Search Ads 360 में, इनमें बदलाव नहीं किया जा सकता:
- कन्वर्ज़न की तारीख.
- कन्वर्ज़न टाइप.
- वह कीवर्ड या विज़िट जिसे कन्वर्ज़न के लिए क्रेडिट दिया गया है.
- Floodlight गतिविधि या गतिविधि का नाम.
हालांकि, किसी भी समय किसी मौजूदा कन्वर्ज़न को 'हटाया गया' के तौर पर मार्क किया जा सकता है. साथ ही, अपडेट की गई तारीख, टाइप, एट्रिब्यूशन आईडी या Floodlight गतिविधि के साथ, कोई नया कन्वर्ज़न अपलोड किया जा सकता है. साथ ही, नया conversionId
भी डालना न भूलें.
Conversion.insert()
की तरह ही, अगर आपके अपडेट अनुरोध में कई
कन्वर्ज़न शामिल हैं, तो Search Ads 360 पूरे बैच को 'सभी या कुछ भी नहीं' लेन-देन के तौर पर अपडेट करने के बजाय, हर कन्वर्ज़न को अपडेट करने की पूरी कोशिश करता है. अगर किसी बैच में कुछ अपडेट पूरे नहीं होते, तो हो सकता है कि बाकी अपडेट पूरे हो जाएं. हमारा सुझाव है कि अपडेट किए गए हर कन्वर्ज़न के लिए, जवाब पढ़ें, ताकि यह पक्का किया जा सके कि अपडेट पूरा हो गया है.
(2025 में अपडेट किया गया) dsConversionId
के इस्तेमाल पर रोक
फ़िलहाल, कन्वर्ज़न की पहचान करने और उनमें बदलाव करने के लिए,
dsConversionId
या conversionId
में से किसी एक का इस्तेमाल किया जा सकता है. dsConversionId
फ़ील्ड को साल 2025 की तीसरी तिमाही में बंद किया जा रहा है. आने वाले समय में, Search Ads 360 Conversion API में कन्वर्ज़न में बदलाव करने के लिए, आपको conversionId
का इस्तेमाल करना होगा.
मुख्य बदलाव:
-
dsConversionId
बंद होने वाला वर्शन:dsConversionID
अब Search Ads 360 Reporting API (जिसेconversion.id
कहा जाता है) या रिपोर्टिंग यूज़र इंटरफ़ेस (जिसे "कन्वर्ज़न आईडी" कहा जाता है) में काम नहीं करेगा. -
conversionId
ज़रूरी शर्त:conversionId
Search Ads 360 Conversion API की मदद से कन्वर्ज़न में बदलाव करने के लिए, यहconversionId
ज़रूरी फ़ील्ड बन जाएगा.
conversionId
पाने का तरीका:
-
Search Ads 360 Reporting API: Search Ads 360 Reporting API का इस्तेमाल करके,
advertiser_conversion_id
को वापस पाया जा सकता है. यह वैल्यू, बदलाव करने के लिए ज़रूरीconversionId
से मेल खाती है. -
Search Ads 360 का यूज़र इंटरफ़ेस: आपको “विज्ञापन देने वाले व्यक्ति या कंपनी का कन्वर्ज़न आईडी” Search Ads 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 एचटीटीपी तरीके का इस्तेमाल करता है.
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
(सिर्फ़ तब, जब ओरिजनल कन्वर्ज़न में बताया गया हो)
आपके पास अन्य आईडी तय करने का विकल्प होता है. जैसे, कन्वर्ज़न का विज्ञापन आईडी, कैंपेन आईडी वगैरह. हालांकि, ऐसा करना ज़रूरी नहीं है. किसी मौजूदा कन्वर्ज़न की पहचान करने के लिए, Search Ads 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 एचटीटीपी तरीके का इस्तेमाल करता है.
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())
Search Ads 360 के जवाबों को मैनेज करना
अपडेट करने के अनुरोध का जवाब, डालने के अनुरोध का जवाब जैसा ही होता है: Search Ads 360 सिर्फ़ तब सफलता का संकेत देता है, जब अनुरोध में मौजूद सभी कन्वर्ज़न को अपडेट कर दिया गया हो.
अगर अनुरोध पूरा हो जाता है, तो रिस्पॉन्स में अपडेट किए गए हर कन्वर्ज़न के लिए, Search Ads 360 का पूरा इंटरनल रिप्रज़ेंटेशन शामिल होता है. जैसे, कैंपेन आईडी, विज्ञापन ग्रुप आईडी, और कीवर्ड (क्राइटेरियम) आईडी.
अगर एक या उससे ज़्यादा अपडेट की पुष्टि नहीं हो पाती या अपलोड नहीं हो पाते, तो जवाब में हर अपडेट के लिए, अपलोड न हो पाने की वजह बताने वाले मैसेज शामिल होते हैं. जवाब में, उन कन्वर्ज़न के बारे में मैसेज नहीं हैं जो अपडेट हो गए हैं. इंसर्ट अनुरोधों के लिए, इन गड़बड़ी के मैसेज के बारे में ज़्यादा जानकारी के लिए, Search Ads 360 के जवाबों को मैनेज करना लेख पढ़ें.