ওভারভিউ
UPDM (ব্যবহারকারী-প্রদত্ত ডেটা ম্যাচিং) প্রথম-পক্ষের ডেটা যোগ করে যা আপনি কোনও ব্যবহারকারী সম্পর্কে সংগ্রহ করেছেন—যেমন আপনার ওয়েবসাইট, অ্যাপস বা ফিজিক্যাল স্টোর থেকে তথ্য—Google বাদ দিয়ে Google বিজ্ঞাপন ডেটাতে একই ব্যবহারকারীর সাইন-ইন করা কার্যকলাপের সাথে মার্কেটিং প্ল্যাটফর্ম। ব্যবহারকারী-প্রদত্ত ডেটা ম্যাচিংয়ের জন্য যোগ্য হতে, বিজ্ঞাপন ইভেন্টটিকে অবশ্যই Google বিজ্ঞাপন ডেটাতে সাইন-ইন করা ব্যবহারকারীর সাথে লিঙ্ক করতে হবে।
ব্যবহারকারী-প্রদত্ত ডেটা ম্যাচিং গ্রাহকের মিলের অন্যান্য ফর্মগুলির তুলনায় কিছু অনন্য সুবিধা প্রদান করে। ব্যবহারকারী-প্রদত্ত ডেটা মিল:
- তৃতীয় পক্ষের তথ্যের চেয়ে শিল্প পরিবর্তনের জন্য আরও প্রতিরোধী
- থার্ড-পার্টি কুকিজের আসন্ন অবচয় দ্বারা প্রভাবিত হয় না, কারণ ব্যবহারকারী-প্রদত্ত ডেটা ম্যাচিং শুধুমাত্র Google-এর মালিকানাধীন এবং পরিচালিত ইনভেন্টরিতে, সাইন-ইন করা ব্যবহারকারীদের জন্য উপলব্ধ।
- আরও প্রাসঙ্গিক গ্রাহক অভিজ্ঞতা প্রদান করতে পারে, যা প্রায়শই উচ্চতর গ্রাহকের ব্যস্ততার দিকে পরিচালিত করে
- আরও সমৃদ্ধ গ্রাহক অন্তর্দৃষ্টি অফার করে
প্রক্রিয়া সারাংশ
আপনি আপনার অ্যাকাউন্টে ব্যবহারকারী-প্রদত্ত ডেটা ম্যাচিং সক্ষম করার পরে, বৈশিষ্ট্যটির চলমান ব্যবহারের দুটি ধাপ রয়েছে:
- Ads Data Hub-এ ফার্স্ট-পার্টি ডেটা ইনজেশন
- আপনি আপনার BigQuery ডেটাসেটে আপনার প্রথম পক্ষের ডেটা ফর্ম্যাট এবং আপলোড করুন। আপনি আপনার প্রশাসক প্রকল্প ব্যতীত আপনার মালিকানাধীন যেকোনো BigQuery ডেটাসেট ব্যবহার করতে পারেন।
- আপনি একটি সংযোগ এবং আমদানি সময়সূচী তৈরি করে একটি ডেটা-ম্যাচিং অনুরোধ শুরু করেন৷
- Google আপনার প্রোজেক্ট এবং Google-এর মালিকানাধীন ডেটার মধ্যে যোগ করে যাতে Google-এর ইউজার আইডি থাকে এবং
*_match
টেবিল তৈরি এবং আপডেট করতে ব্যবহারকারীর দেওয়া ডেটা হ্যাশ করে।
- বিজ্ঞাপন ডেটা হাবে চলমান প্রশ্ন , মিলে যাওয়া ডেটার উপর ভিত্তি করে
- আপনি বিজ্ঞাপন ডেটা হাবে যেভাবে নিয়মিত কোয়েরি চালান ঠিক সেভাবে আপনি
*_match
টেবিলের বিরুদ্ধে কোয়েরি চালান।
- আপনি বিজ্ঞাপন ডেটা হাবে যেভাবে নিয়মিত কোয়েরি চালান ঠিক সেভাবে আপনি
তথ্য উৎস এবং গন্তব্য প্রকল্প
সংযোগগুলির জন্য আপনাকে দুটি ভিন্ন Google ক্লাউড প্রকল্প ব্যবহার করতে হবে: একটি ডেটা উত্স প্রকল্প এবং গন্তব্য প্রকল্প৷
- ডেটা উত্স: এই প্রকল্পে আপনার মালিকানাধীন বিজ্ঞাপন ডেটা তার কাঁচা বিন্যাসে রয়েছে।
- গন্তব্য: এটি হল BigQuery ডেটাসেট যা Ads Data Hub লিখে। ডিফল্টরূপে, এটি আপনার অ্যাডমিন প্রকল্প । এটিকে অন্য Google ক্লাউড প্রকল্পে পরিবর্তন করতে, পরিষেবা অ্যাকাউন্টগুলি কনফিগার করুন দেখুন।
গোপনীয়তা সীমাবদ্ধতা
গ্রাহকের তথ্য সংগ্রহ করা হচ্ছে
ব্যবহারকারী-প্রদত্ত ডেটা ম্যাচিং ব্যবহার করার সময়, আপনাকে অবশ্যই প্রথম পক্ষের ডেটা আপলোড করতে হবে৷ এটি হতে পারে আপনার ওয়েবসাইট, অ্যাপস, ফিজিক্যাল স্টোর থেকে সংগ্রহ করা তথ্য অথবা একজন গ্রাহক সরাসরি আপনার সাথে শেয়ার করেছেন এমন কোনো তথ্য।
ডেটা সাইজ
শেষ-ব্যবহারকারীর গোপনীয়তা রক্ষা করতে, ব্যবহারকারী-প্রদত্ত ডেটা ম্যাচিং আপনার ডেটার আকার সম্পর্কিত এই প্রয়োজনীয়তাগুলি প্রয়োগ করে:
- আপনাকে অবশ্যই আপনার ব্যবহারকারী তালিকায় কমপক্ষে 1,000টি রেকর্ড আপলোড করতে হবে৷
- আপনার ম্যাচ টেবিলের প্রতিটি সফল আপডেটে ন্যূনতম সংখ্যক নতুন মিলে যাওয়া ব্যবহারকারীদের অন্তর্ভুক্ত করতে হবে। এই আচরণ পার্থক্য চেক অনুরূপ.
- আপনার তালিকা রেকর্ডের সর্বোচ্চ সংখ্যা অতিক্রম করা উচিত নয়. সর্বাধিক ডেটা সীমা সম্পর্কে জানতে, আপনার Google প্রতিনিধির সাথে যোগাযোগ করুন।
সংযোগ ট্যাব সক্রিয় করুন
আপনি শুরু করার আগে, সংযোগ ট্যাব সক্ষম করতে আপনার বিজ্ঞাপন ডেটা হাব অ্যাকাউন্টটি কনফিগার করুন, যেখানে আপনি আপনার ডেটা-ম্যাচিং পাইপলাইন স্থাপন করবেন। আপনাকে শুধুমাত্র একবার এই পদক্ষেপগুলি সম্পাদন করতে হবে৷
- আপনার Google প্রতিনিধি পাঠান:
- বিজ্ঞাপন ডেটা হাব অ্যাকাউন্ট আইডি আপনি ব্যবহারকারীর দেওয়া ডেটা ম্যাচিংয়ের জন্য ব্যবহার করবেন।
- সুপার ইউজার ইমেল ঠিকানা যা আপনার গন্তব্য প্রকল্পে অ্যাক্সেস আছে।
- আপনার Google প্রতিনিধির সাথে নিশ্চিত করুন যে অ্যাকাউন্ট এবং সুপার ইউজার অনুমোদিত তালিকাভুক্ত।
মনোনীত Google ক্লাউড প্রকল্পে বিজ্ঞাপন ডেটা সংযোগকারী API সক্ষম করুন৷ ডিফল্টরূপে, এটি আপনার অ্যাডমিন প্রকল্প। একটি ভিন্ন প্রকল্প ব্যবহার করতে, ডেটা উত্স প্রকল্প হিসাবে বিকল্প Google ক্লাউড প্রকল্পের সাথে এই পদক্ষেপগুলি অনুসরণ করুন৷ অনুমোদিত সুপার ইউজার হিসাবে সাইন ইন করার সময় এই পদক্ষেপগুলি অবশ্যই সম্পাদন করতে হবে৷
- ক্লাউড কনসোল এপিআই লাইব্রেরিতে যান।
- তালিকা থেকে আপনার ডেটা উত্স প্রকল্প নির্বাচন করুন।
- "Ads Data Connector API" অনুসন্ধান করুন। যদি বিজ্ঞাপন ডেটা সংযোগকারী API সার্চের ফলাফলে না দেখা যায়, তাহলে এটি নির্দেশ করতে পারে যে সাইন-ইন করা Google অ্যাকাউন্টটি অনুমোদিত তালিকাভুক্ত সুপার ইউজার নয়।
- API পৃষ্ঠায়, ENABLE এ ক্লিক করুন।
- আপনার Google প্রতিনিধির সাথে নিশ্চিত করুন যে API সক্ষম হয়েছে৷
আপনার Google প্রতিনিধি আপনাকে তিনটি ইমেল ঠিকানা পাঠাবে, যা Datafusion , Dataproc , এবং UPDM পরিষেবা অ্যাকাউন্ট হিসাবে মনোনীত।
আপনার বিজ্ঞাপন ডেটা হাব অ্যাকাউন্টে একটি নতুন সংযোগ বিভাগও উপস্থিত হবে, যেখানে আপনার 1P ডেটা এবং ডেটা ম্যাচিং নামে ট্যাব রয়েছে৷ প্রতিটি ট্যাবের ব্যবহার কেস সম্পর্কে জানুন।
পরিষেবা অ্যাকাউন্টগুলিতে যথাযথ অনুমতি দিন। বিভিন্ন পরিষেবা অ্যাকাউন্ট এবং তাদের প্রয়োজনীয় অনুমতিগুলির ব্যাখ্যার জন্য, টেবিলে আপনার ডেটা উত্স নির্বাচন করুন:
BigQuery
ডেটাফিউশন পরিষেবা অ্যাকাউন্ট উদ্দেশ্য ডেটাফিউশন পরিষেবা অ্যাকাউন্টটি বিজ্ঞাপন ডেটা হাব UI-তে উত্স ক্ষেত্রের একটি তালিকা প্রদর্শন করতে ব্যবহৃত হয়। বিন্যাস service- some-number @gcp-sa-datafusion.iam.gserviceaccount.com
প্রয়োজনীয় অ্যাক্সেস BigQuery Data Viewer
roles/bigquery.dataViewer
ডেটা উৎস এবং গন্তব্য প্রকল্পের নির্দিষ্ট ডেটাসেটের জন্য Storage Admin
roles/storage.admin
ডেটা সোর্স প্রকল্পের জন্য, বা একটি ডেডিকেটেড স্টোরেজ বালতি ডেটাপ্রোক পরিষেবা অ্যাকাউন্ট উদ্দেশ্য ডেটাপ্রোক পরিষেবা অ্যাকাউন্টটি পটভূমিতে ডেটা পাইপলাইন চালানোর জন্য দায়ী। বিন্যাস some-number -compute@developer.gserviceaccount.com
প্রয়োজনীয় অ্যাক্সেস BigQuery Data Viewer
roles/bigquery.dataViewer
ডেটা উৎস এবং গন্তব্য প্রকল্পের নির্দিষ্ট ডেটাসেটের জন্য BigQuery Data Editor
roles/bigquery.dataEditor
গন্তব্য প্রকল্পে নির্দিষ্ট ডেটাসেটের জন্য BigQuery Job User
roles/bigquery.jobUser
ডেটা উত্স এবং গন্তব্য প্রকল্প উভয়ের জন্য Storage Admin
roles/storage.admin
ডেটা সোর্স এবং গন্তব্য প্রকল্প, বা একটি ডেডিকেটেড স্টোরেজ বালতি উভয়ের জন্য UPDM পরিষেবা অ্যাকাউন্ট উদ্দেশ্য UPDM পরিষেবা অ্যাকাউন্টটি ম্যাচিং কাজ চালানোর জন্য ব্যবহার করা হয়। বিন্যাস service- some-number @gcp-sa-adsdataconnector.iam.gserviceaccount.com
প্রয়োজনীয় অ্যাক্সেস BigQuery Data Viewer
roles/bigquery.dataViewer
গন্তব্য প্রকল্পের জন্য BigQuery Job User
roles/bigquery.jobUser
গন্তব্য প্রকল্পের জন্য মেঘ স্টোরেজ
ডেটাফিউশন পরিষেবা অ্যাকাউন্ট উদ্দেশ্য ডেটাফিউশন পরিষেবা অ্যাকাউন্টটি বিজ্ঞাপন ডেটা হাব UI-তে উত্স ক্ষেত্রের একটি তালিকা প্রদর্শন করতে ব্যবহৃত হয়। বিন্যাস service- some-number @gcp-sa-datafusion.iam.gserviceaccount.com
প্রয়োজনীয় অ্যাক্সেস Storage Object Viewer
roles/storage.objectViewer
ডেটা উত্স প্রকল্পে নির্দিষ্ট স্টোরেজ বালতিগুলির জন্য BigQuery Data Viewer
roles/bigquery.dataViewer
ডেটা সোর্স প্রকল্পের জন্য, বা একটি ডেডিকেটেড স্টোরেজ বালতি Storage Admin
roles/storage.admin
ডেটা সোর্স প্রকল্পের জন্য, বা একটি ডেডিকেটেড স্টোরেজ বালতি ডেটাপ্রোক পরিষেবা অ্যাকাউন্ট উদ্দেশ্য ডেটাপ্রোক পরিষেবা অ্যাকাউন্টটি পটভূমিতে ডেটা পাইপলাইন চালানোর জন্য দায়ী। বিন্যাস some-number -compute@developer.gserviceaccount.com
প্রয়োজনীয় অ্যাক্সেস Storage Admin
roles/storage.admin
ডেটা সোর্স এবং গন্তব্য প্রকল্প, বা একটি ডেডিকেটেড স্টোরেজ বালতি উভয়ের জন্য BigQuery Job User
roles/bigquery.jobUser
গন্তব্য প্রকল্পের জন্য UPDM পরিষেবা অ্যাকাউন্ট উদ্দেশ্য UPDM পরিষেবা অ্যাকাউন্টটি ম্যাচিং কাজ চালানোর জন্য ব্যবহার করা হয়। বিন্যাস service- some-number @gcp-sa-adsdataconnector.iam.gserviceaccount.com
প্রয়োজনীয় অ্যাক্সেস BigQuery Data Viewer
roles/bigquery.dataViewer
গন্তব্য প্রকল্পের জন্য BigQuery Job User
roles/bigquery.jobUser
গন্তব্য প্রকল্পের জন্য বিক্রয় বল
শীঘ্রই আসছে
প্রথম পক্ষের ডেটা ইনজেস্ট করুন
ইনপুট জন্য ফর্ম্যাট তথ্য
সঠিকভাবে মেলে আপনার ডেটা এই ফর্ম্যাটিং প্রয়োজনীয়তা মেনে চলতে হবে:
- যেখানে নির্দেশ করা হয়েছে, আপনাকে বেস16 স্ট্রিং হিসাবে এনকোড করা SHA256 হ্যাশিং ব্যবহার করে আপলোড করতে হবে। যদিও UPDM Base64 সমর্থন করে, এটি Google Ads গ্রাহক ম্যাচ নির্দেশিকা থেকে আলাদা।
- ইনপুট ক্ষেত্রগুলি অবশ্যই স্ট্রিং হিসাবে ফর্ম্যাট করা উচিত৷ আপনি যদি BigQuery-এর SHA256 হ্যাশ ফাংশন এবং Base16 এনকোডিং ফাংশন ( TO_HEX ) ব্যবহার করেন, তাহলে নিম্নলিখিত রূপান্তরটি ব্যবহার করুন:
TO_HEX(SHA256(user_data))
।
ব্যবহারকারী আইডি
- সরল পাঠ্য
- হ্যাশিং: কোনোটিই নয়
ইমেইল
- স্ট্রিপ হোয়াইটস্পেস
- ছোট হাতের সব অক্ষর
- সমস্ত ইমেল ঠিকানার জন্য একটি ডোমেন নাম অন্তর্ভুক্ত করুন, যেমন gmail.com বা hotmail.co.jp
- উচ্চারণগুলি সরান-উদাহরণস্বরূপ, è, é, ê, বা ë থেকে e পরিবর্তন করুন
- হ্যাশিং: বেস16 এনকোডেড SHA256
বৈধ: TO_HEX(SHA256("jeffersonloveshiking@gmail.com"))
অবৈধ: TO_HEX(SHA256("JéffersonLôvesHiking@gmail.com"))
ফোন
- স্ট্রিপ হোয়াইটস্পেস
- E.164 ফরম্যাটে বিন্যাস—উদাহরণস্বরূপ, US +14155552671, UK +442071838750)
- দেশের কোড অন্তর্ভুক্ত করুন (মার্কিন সহ)
- দেশের কোডের আগে "+" ছাড়া সব বিশেষ অক্ষর সরান
- হ্যাশিং: বেস16 এনকোডেড SHA256
বৈধ: TO_HEX(SHA256("+18005550101"))
অবৈধ: TO_HEX(SHA256("(800) 555-0101"))
নামের প্রথম অংশ
- স্ট্রিপ হোয়াইটস্পেস
- ছোট হাতের সব অক্ষর
- সমস্ত উপসর্গ সরান, যেমন Mrs.
- উচ্চারণ মুছে ফেলবেন না —উদাহরণস্বরূপ, è, é, ê, বা ë
- হ্যাশিং: বেস16 এনকোডেড SHA256
বৈধ: TO_HEX(SHA256("daní"))
অবৈধ: TO_HEX(SHA256("Daní"))
নামের শেষাংশ
- স্ট্রিপ হোয়াইটস্পেস
- ছোট হাতের সব অক্ষর
- সমস্ত উপসর্গ সরান, যেমন জুনিয়র
- উচ্চারণ মুছে ফেলবেন না —উদাহরণস্বরূপ, è, é, ê, বা ë
- হ্যাশিং: বেস16 এনকোডেড SHA256
বৈধ: TO_HEX(SHA256("delacruz"))
অবৈধ: TO_HEX(SHA256("de la Cruz, Jr."))
দেশ
- আপনার সমস্ত গ্রাহক ডেটা একই দেশের হলেও দেশের কোড অন্তর্ভুক্ত করুন
- দেশের ডেটা হ্যাশ করবেন না
- ISO 3166-1 alpha-2 দেশের কোড ব্যবহার করুন
- হ্যাশিং: কোনোটিই নয়
বৈধ: US
অবৈধ: United States of America
বা USA
জিপ কোড
- জিপ কোড ডেটা হ্যাশ করবেন না
- মার্কিন এবং আন্তর্জাতিক উভয় জিপ এবং পোস্টাল কোড অনুমোদিত
- আমাদের জন্য:
- 5 সংখ্যার কোড অনুমোদিত—উদাহরণস্বরূপ, 94043
- 5টি সংখ্যার পরে 4 সংখ্যার এক্সটেনশনও অনুমোদিত—উদাহরণস্বরূপ, 94043-1351 বা 940431351
- অন্য সব দেশের জন্য:
- কোন বিন্যাসের প্রয়োজন নেই (ছোট হাতের অক্ষর বা স্পেস এবং বিশেষ অক্ষর সরানোর দরকার নেই)
- পোস্টাল কোড এক্সটেনশন ছেড়ে দিন
- হ্যাশিং: কোনোটিই নয়
হ্যাশ যাচাইকরণ এবং ডেটা এনকোডিং
আপনার ডেটা সঠিকভাবে ফর্ম্যাট করা হয়েছে তা নিশ্চিত করতে আপনি নিম্নলিখিত হ্যাশ যাচাইকরণ স্ক্রিপ্টগুলি ব্যবহার করতে পারেন।
জাভাস্ক্রিপ্ট
ভিত্তি16
/**
* @fileoverview Provides the hashing algorithm for User-Provided Data Match, as
* well as some valid hashes of sample data for testing.
*/
async function hash(token) {
const formattedToken = token.trim().toLowerCase();
const hashArrayBuffer = await crypto.subtle.digest(
'SHA-256', (new TextEncoder()).encode(formattedToken));
return Array.from(new Uint8Array(hashArrayBuffer))
.map((b) => b.toString(16).padStart(2, '0'))
.join('');
}
function main() {
// Expected hash for test@gmail.com:
// 87924606b4131a8aceeeae8868531fbb9712aaa07a5d3a756b26ce0f5d6ca674
hash('test@gmail.com').then(result => console.log(result));
// Expected hash for +18005551212:
// 61d9111bed3e6d9cfc1bc3b5cb35a402687c4f1546bee061a2bd444fbdd64c44
hash('+18005551212').then(result => console.log(result));
// Expected hash for John:
// 96d9632f363564cc3032521409cf22a852f2032eec099ed5967c0d000cec607a
hash('John').then(result => console.log(result));
// Expected hash for Doe:
// 799ef92a11af918e3fb741df42934f3b568ed2d93ac1df74f1b8d41a27932a6f
hash('Doe').then(result => console.log(result));
}
main()
বেস64
/**
* @fileoverview Provides the hashing algorithm, as well as some valid hashes of
* sample data for testing.
*/
async function hash(token) {
const formattedToken = token.trim().toLowerCase();
const hashBuffer = await crypto.subtle.digest(
'SHA-256', (new TextEncoder()).encode(formattedToken));
const base64Str = btoa(String.fromCharCode(...new Uint8Array(hashBuffer)));
return base64Str;
}
function main() {
// Expected hash for test@gmail.com:
// h5JGBrQTGorO7q6IaFMfu5cSqqB6XTp1aybOD11spnQ=
hash('test@gmail.com').then(result => console.log(result));
// Expected hash for +18005551212:
// YdkRG+0+bZz8G8O1yzWkAmh8TxVGvuBhor1ET73WTEQ=
hash('+18005551212').then(result => console.log(result));
// Expected hash for John: ltljLzY1ZMwwMlIUCc8iqFLyAy7sCZ7VlnwNAAzsYHo=
hash('John').then(result => console.log(result));
// Expected hash for Doe: eZ75KhGvkY4/t0HfQpNPO1aO0tk6wd908bjUGieTKm8=
hash('Doe').then(result => console.log(result));
}
main()
পাইথন
ভিত্তি16
"""Provides the hashing algorithm, as well as some valid hashes of sample data for testing.
Supports: Python 2, Python 3
Sample hashes:
- Email 'test@gmail.com': 87924606b4131a8aceeeae8868531fbb9712aaa07a5d3a756b26ce0f5d6ca674
- Phone '+18005551212': 61d9111bed3e6d9cfc1bc3b5cb35a402687c4f1546bee061a2bd444fbdd64c44
- First name 'John': 96d9632f363564cc3032521409cf22a852f2032eec099ed5967c0d000cec607a
- Last name 'Doe': 799ef92a11af918e3fb741df42934f3b568ed2d93ac1df74f1b8d41a27932a6f
"""
import base64
import hashlib
def updm_hash(token):
return hashlib.sha256(token.strip().lower().encode('utf-8')).hexdigest()
def print_updm_hash(token):
print('Hash: "{}"\t(Token: {})'.format(updm_hash(token), token))
def main():
print_updm_hash('test@gmail.com')
print_updm_hash('+18005551212')
print_updm_hash('John')
print_updm_hash('Doe')
if __name__ == '__main__':
main()
বেস64
"""Provides the hashing algorithm, as well as some valid hashes of sample data for testing.
Supports: Python 2, Python 3
Sample hashes:
- Email 'test@gmail.com': h5JGBrQTGorO7q6IaFMfu5cSqqB6XTp1aybOD11spnQ=
- Phone '+18005551212': YdkRG+0+bZz8G8O1yzWkAmh8TxVGvuBhor1ET73WTEQ=
- First name 'John': ltljLzY1ZMwwMlIUCc8iqFLyAy7sCZ7VlnwNAAzsYHo=
- Last name 'Doe': eZ75KhGvkY4/t0HfQpNPO1aO0tk6wd908bjUGieTKm8=
"""
import base64
import hashlib
def hash(token):
return base64.b64encode(
hashlib.sha256(
token.strip().lower().encode('utf-8')).digest()).decode('utf-8')
def print_hash(token, expected=None):
hashed = hash(token)
if expected is not None and hashed != expected:
print(
'ERROR: Incorrect hash for token "{}". Expected "{}", got "{}"'.format(
token, expected, hashed))
return
print('Hash: "{}"\t(Token: {})'.format(hashed, token))
def main():
print_hash(
'test@gmail.com', expected='h5JGBrQTGorO7q6IaFMfu5cSqqB6XTp1aybOD11spnQ=')
print_hash(
'+18005551212', expected='YdkRG+0+bZz8G8O1yzWkAmh8TxVGvuBhor1ET73WTEQ=')
print_hash('John', expected='ltljLzY1ZMwwMlIUCc8iqFLyAy7sCZ7VlnwNAAzsYHo=')
print_hash('Doe', expected='eZ75KhGvkY4/t0HfQpNPO1aO0tk6wd908bjUGieTKm8=')
if __name__ == '__main__':
main()
যাওয়া
ভিত্তি16
/*
Provides the hashing algorithm, as well as some valid hashes of sample data for testing.
Sample hashes:
- Email 'test@gmail.com': 87924606b4131a8aceeeae8868531fbb9712aaa07a5d3a756b26ce0f5d6ca674
- Phone '+18005551212': 61d9111bed3e6d9cfc1bc3b5cb35a402687c4f1546bee061a2bd444fbdd64c44
- First name 'John': 96d9632f363564cc3032521409cf22a852f2032eec099ed5967c0d000cec607a
- Last name 'Doe': 799ef92a11af918e3fb741df42934f3b568ed2d93ac1df74f1b8d41a27932a6f
*/
package main
import (
"crypto/sha256"
"fmt"
"strings"
)
// Hash hashes an email, phone, first name, or last name into the correct format.
func Hash(token string) string {
formatted := strings.TrimSpace(strings.ToLower(token))
hashed := sha256.Sum256([]byte(formatted))
encoded := fmt.Sprintf("%x", hashed[:])
return encoded
}
// PrintHash prints the hash for a token.
func PrintHash(token string) {
fmt.Printf("Hash: \"%s\"\t(Token: %s)\n", Hash(token), token)
}
func main() {
PrintHash("test@gmail.com")
PrintHash("+18005551212")
PrintHash("John")
PrintHash("Doe")
}
বেস64
/*
Provides the hashing algorithm, as well as some valid hashes of sample data for testing.
Sample hashes:
- Email 'test@gmail.com': h5JGBrQTGorO7q6IaFMfu5cSqqB6XTp1aybOD11spnQ=
- Phone '+18005551212': YdkRG+0+bZz8G8O1yzWkAmh8TxVGvuBhor1ET73WTEQ=
- First name 'John': ltljLzY1ZMwwMlIUCc8iqFLyAy7sCZ7VlnwNAAzsYHo=
- Last name 'Doe': eZ75KhGvkY4/t0HfQpNPO1aO0tk6wd908bjUGieTKm8=
*/
package main
import (
"crypto/sha256"
"encoding/base64"
"fmt"
"strings"
)
// Hash hashes an email, phone, first name, or last name into the correct format.
func Hash(token string) string {
formatted := strings.TrimSpace(strings.ToLower(token))
hashed := sha256.Sum256([]byte(formatted))
encoded := base64.StdEncoding.EncodeToString(hashed[:])
return encoded
}
// PrintHash prints the hash for a token.
func PrintHash(token string) {
fmt.Printf("Hash: \"%s\"\t(Token: %s)\n", Hash(token), token)
}
func main() {
PrintHash("test@gmail.com")
PrintHash("+18005551212")
PrintHash("John")
PrintHash("Doe")
}
জাভা
ভিত্তি16
package updm.hashing;
import static java.nio.charset.StandardCharsets.UTF_8;
import com.google.common.base.Ascii;
import com.google.common.hash.Hashing;
/**
* Example of the UPDM hashing algorithm using hex-encoded SHA-256.
*
* <p>This uses the Guava Hashing to generate the hash: https://github.com/google/guava
*
* <p>Sample valid hashes:
*
* <ul>
* <li>Email "test@gmail.com": "87924606b4131a8aceeeae8868531fbb9712aaa07a5d3a756b26ce0f5d6ca674"
* <li>Phone "+18005551212": "61d9111bed3e6d9cfc1bc3b5cb35a402687c4f1546bee061a2bd444fbdd64c44"
* <li>First name "John": "96d9632f363564cc3032521409cf22a852f2032eec099ed5967c0d000cec607a"
* <li>Last name "Doe": "799ef92a11af918e3fb741df42934f3b568ed2d93ac1df74f1b8d41a27932a6f"
* </ul>
*/
public final class HashExample {
private HashExample() {}
public static String hash(String token) {
String formattedToken = Ascii.toLowerCase(token).strip();
return Hashing.sha256().hashString(formattedToken, UTF_8).toString();
}
public static void printHash(String token) {
System.out.printf("Hash: \"%s\"\t(Token: %s)\n", hash(token), token);
}
public static void main(String[] args) {
printHash("test@gmail.com");
printHash("+18005551212");
printHash("John");
printHash("Doe");
}
}
বেস64
package updm.hashing;
import static java.nio.charset.StandardCharsets.UTF_8;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.Base64;
/**
* Example of the hashing algorithm.
*
* <p>Sample hashes:
*
* <ul>
* <li>Email 'test@gmail.com': h5JGBrQTGorO7q6IaFMfu5cSqqB6XTp1aybOD11spnQ=
* <li>Phone '+18005551212': YdkRG+0+bZz8G8O1yzWkAmh8TxVGvuBhor1ET73WTEQ=
* <li>First name 'John': ltljLzY1ZMwwMlIUCc8iqFLyAy7sCZ7VlnwNAAzsYHo=
* <li>Last name 'Doe': eZ75KhGvkY4/t0HfQpNPO1aO0tk6wd908bjUGieTKm8=
* </ul>
*/
public final class HashExample {
private HashExample() {}
public static String hash(String token) {
String formattedToken = token.toLowerCase().strip();
byte[] hash;
try {
hash = MessageDigest.getInstance("SHA-256").digest(formattedToken.getBytes(UTF_8));
} catch (NoSuchAlgorithmException e) {
throw new IllegalStateException("SHA-256 not supported", e);
}
return Base64.getEncoder().encodeToString(hash);
}
public static void printHash(String token) {
System.out.printf("Hash: \"%s\"\t(Token: %s)\n", hash(token), token);
}
public static void main(String[] args) {
printHash("test@gmail.com");
printHash("+18005551212");
printHash("John");
printHash("Doe");
}
}
এসকিউএল
ভিত্তি16
/*
Provides the hashing algorithm, as well as some valid hashes of sample data for testing.
The following code uses Google Standard SQL and can be run on BigQuery to generate match tables from unhashed data.
Sample hashes:
- Email 'test@gmail.com': 87924606b4131a8aceeeae8868531fbb9712aaa07a5d3a756b26ce0f5d6ca674
- Phone '+18005551212': 61d9111bed3e6d9cfc1bc3b5cb35a402687c4f1546bee061a2bd444fbdd64c44
- First name 'John': 96d9632f363564cc3032521409cf22a852f2032eec099ed5967c0d000cec607a
- Last name 'Doe': 799ef92a11af918e3fb741df42934f3b568ed2d93ac1df74f1b8d41a27932a6f
The unhashed input table schema is assumed to be:
- Column name: UserID, Type: String
- Column name: Email, Type: String
- Column name: Phone, Type: String
- Column name: FirstName, Type: String
- Column name: LastName, Type: String
- Column name: PostalCode, Type: String
- Column name: CountryCode, Type: String
*/
CREATE TABLE `your_project_name.your_dataset_name.output_hashed_table_name`
AS
SELECT
UserID,
TO_HEX(SHA256(LOWER(Email))) AS Email,
TO_HEX(SHA256(Phone)) AS Phone,
TO_HEX(SHA256(LOWER(FirstName))) AS FirstName,
TO_HEX(SHA256(LOWER(LastName))) AS LastName,
PostalCode,
CountryCode,
FROM
`your_project_name.your_dataset_name.input_unhashed_table_name`;
বেস64
/*
Provides the hashing algorithm, as well as some valid hashes of sample data for testing.
The following code uses Google Standard SQL and can be run on BigQuery to generate match tables from unhashed data.
Sample hashes:
- Email 'test@gmail.com': h5JGBrQTGorO7q6IaFMfu5cSqqB6XTp1aybOD11spnQ=
- Phone '+18005551212': YdkRG+0+bZz8G8O1yzWkAmh8TxVGvuBhor1ET73WTEQ=
- First name 'John': ltljLzY1ZMwwMlIUCc8iqFLyAy7sCZ7VlnwNAAzsYHo=
- Last name 'Doe': eZ75KhGvkY4/t0HfQpNPO1aO0tk6wd908bjUGieTKm8=
The unhashed input table schema is assumed to be:
- Column name: UserID, Type: String
- Column name: Email, Type: String
- Column name: Phone, Type: String
- Column name: FirstName, Type: String
- Column name: LastName, Type: String
- Column name: PostalCode, Type: String
- Column name: CountryCode, Type: String
*/
CREATE TABLE `your_project_name.your_dataset_name.output_hashed_table_name`
AS
SELECT
UserID,
TO_BASE64(SHA256(LOWER(Email))) AS Email,
TO_BASE64(SHA256(Phone)) AS Phone,
TO_BASE64(SHA256(LOWER(FirstName))) AS FirstName,
TO_BASE64(SHA256(LOWER(LastName))) AS LastName,
PostalCode,
CountryCode,
FROM
`your_project_name.your_dataset_name.input_unhashed_table_name`;
কী যোগ দিন
ব্যবহারকারী-প্রদত্ত ডেটার কিছু সংমিশ্রণ অন্যদের তুলনায় শক্তিশালী। এখানে আপেক্ষিক শক্তি দ্বারা র্যাঙ্ক করা বিভিন্ন ব্যবহারকারী-প্রদত্ত ডেটা সংমিশ্রণের একটি তালিকা রয়েছে:
- ইমেল, ফোন, ঠিকানা (সবচেয়ে শক্তিশালী)
- ফোন, ঠিকানা
- ইমেইল, ঠিকানা
- ইমেইল, ফোন
- ঠিকানা
- ফোন
- ইমেল (সবচেয়ে দুর্বল)
একটি ম্যাচ টেবিল তৈরি করুন
- সংযোগগুলি > ডেটা ম্যাচিং > সংযোগ তৈরি করুন ক্লিক করুন।
- একটি ডেটা উত্স চয়ন করুন, তারপর সংযোগ ক্লিক করুন৷ প্রমাণীকরণ, যদি অনুরোধ করা হয়, তারপর পরবর্তী ক্লিক করুন।
- আপনার ডেটা উত্স কনফিগার করুন, তারপরে ক্লিক করুন:
BigQuery
আমদানি করতে BigQuery টেবিলটি নির্বাচন করুন।
মেঘ স্টোরেজ
gsutil ফাইল পাথ লিখুন, যেমন gs
gs://my-bucket/folder/
এবং আপনার ফাইলের বিন্যাস নির্বাচন করুন।বিক্রয় বল
শীঘ্রই আসছে
- গন্তব্য সেট করুন, তারপর পরবর্তী ক্লিক করুন:
- ডেটার জন্য মধ্যস্থতাকারী গন্তব্য হিসেবে ব্যবহার করার জন্য একটি নতুন BigQuery ডেটাসেট বেছে নিন। এই ধাপটি নিশ্চিত করে যে আপনার ডেটা সঠিকভাবে ফরম্যাট করা হয়েছে।
- ঐচ্ছিক: আপনার ডেটার বিন্যাস পরিবর্তন করুন। ট্রান্সফরমেশনের মধ্যে রয়েছে কম্পিউট হ্যাশ, লোয়ার/আপার কেস ফরম্যাটিং এবং মার্জিং/স্পিটিং ফিল্ড।
- Action > > Transform এ ক্লিক করুন।
- পপ আপ হওয়া প্যানেলে, রূপান্তর যোগ করুন বা অন্য রূপান্তর যোগ করুন ক্লিক করুন
- ড্রপডাউন মেনু থেকে একটি রূপান্তর প্রকার চয়ন করুন এবং প্রয়োজনীয়তা লিখুন।
- সংরক্ষণ করুন ক্লিক করুন.
- আপনি যে ক্ষেত্রগুলি ব্যবহার করবেন তা ম্যাপ করতে কমপক্ষে একটি যোগ কী চয়ন করুন, তারপরে পরবর্তী ক্লিক করুন।
- একটি সময়সূচী সেট করুন:
- আপনার সংযোগের নাম দিন।
- পূর্ববর্তী ধাপে আপনার নির্বাচিত ডেটাসেটে কত ঘন ঘন ডেটা আমদানি করা হবে তা নির্দেশ করে একটি ফ্রিকোয়েন্সি সেট করুন। প্রতিটি রান গন্তব্য টেবিলে ডেটা ওভাররাইট করবে।
- আপনি কিভাবে ব্যবহারকারী আইডি সংঘর্ষগুলি পরিচালনা করতে চান তা নির্দিষ্ট করুন৷ আপনি বিদ্যমান মিল রাখা বা নতুন ডেটা দিয়ে ওভাররাইট করার মধ্যে বেছে নিতে পারেন।
- শেষ ক্লিক করুন.
সংযোগ বিবরণ দেখুন
সংযোগ বিশদ পৃষ্ঠা আপনাকে একটি প্রদত্ত সংযোগের সাম্প্রতিক রান এবং ত্রুটি সম্পর্কে তথ্য দেয়। একটি নির্দিষ্ট সংযোগের জন্য বিশদ দেখতে:
- সংযোগ > ডেটা ম্যাচিং-এ ক্লিক করুন।
- সংযোগটির বিশদ বিবরণ দেখতে তার নামে ক্লিক করুন।
- আপনি এখন সংযোগের বিবরণ এবং সাম্প্রতিক রানগুলি দেখতে পারেন৷ প্রতিটি দুটি সম্ভাব্য ধরণের ত্রুটি দেখায়: সংযোগ-স্তর (সংযোগটি চালানো হয়নি) এবং সারি-স্তরের ত্রুটিগুলি (একটি সারি আমদানি করা হয়নি)৷
- একটি ব্যর্থ অবস্থা নির্দেশ করে যে পুরো সংযোগটি চালানো ব্যর্থ হয়েছে (যেমন পরিষেবা অ্যাকাউন্ট অনুমতি সমস্যা)। কোন ত্রুটিগুলি সংযোগটিকে প্রভাবিত করেছে তা দেখতে ত্রুটির স্থিতিতে ক্লিক করুন৷
- একটি সম্পূর্ণ স্থিতি নির্দেশ করে যে সংযোগটি সফলভাবে চলছে৷ যাইহোক, এখনও সারি-স্তরের ত্রুটি থাকতে পারে — "ত্রুটির সাথে সারি" কলামে একটি অ-শূন্য মান দ্বারা নির্দেশিত। কোন রেকর্ড ব্যর্থ হয়েছে সে সম্পর্কে আরও জানতে মানটিতে ক্লিক করুন।
একটি সংযোগ সম্পাদনা করুন
সংযোগ সম্পাদনা এখনও সমর্থিত নয়. একটি সংযোগ পরিবর্তন করতে, একটি নতুন তৈরি করুন এবং তারপরে পুরানোটি মুছুন৷
বিজ্ঞাপন ডেটা হাবে ডেটা জিজ্ঞাসা করুন
ম্যাচ টেবিল জিজ্ঞাসা
যখন আপনার মিল টেবিলে গোপনীয়তা পরীক্ষাগুলি সন্তুষ্ট করার জন্য পর্যাপ্ত ডেটা থাকে, আপনি টেবিলের বিরুদ্ধে প্রশ্নগুলি চালানোর জন্য প্রস্তুত। একটি user_id
ফিল্ড ধারণকারী বিজ্ঞাপন ডেটা হাব স্কিমার প্রতিটি টেবিলের সাথে একটি *_match
টেবিল থাকে। উদাহরণস্বরূপ, adh.google_ads_impressions
টেবিলের জন্য, Ads Data Hub এছাড়াও adh.google_ads_impressions_match
নামে একটি মিল টেবিল তৈরি করে যাতে শুধুমাত্র ব্যবহারকারী আইডি থাকে। এই সারণীগুলিতে মূল টেবিলে উপলব্ধ ব্যবহারকারীদের একটি উপসেট রয়েছে, যেখানে user_id
এর সাথে একটি মিল রয়েছে। উদাহরণস্বরূপ, যদি মূল টেবিলে ব্যবহারকারী A এবং ব্যবহারকারী B এর ডেটা থাকে, কিন্তু শুধুমাত্র ব্যবহারকারী A মিলে যায়, তাহলে ব্যবহারকারী B ম্যাচ টেবিলে থাকবে না।
মিল টেবিলে external_cookie
নামে একটি অতিরিক্ত কলাম রয়েছে, যা আপনার কুকিকে BYTES হিসাবে সংরক্ষণ করে।
এক্সটার্নাল_কুকি ফিল্ডে আপনার আইডি BYTES হিসেবে রয়েছে। সফল ম্যাচের জন্য আপনাকে BYTES-এ আপনার জয়েন কী কাস্ট করতে হবে।
JOIN ON
google_data_imp.external_cookie = CAST(my_data.user_id AS BYTES)
বিজ্ঞাপন ইভেন্ট টেবিলের *_match
ভিউ জিজ্ঞাসা করে ম্যাচ টেবিল ব্যবহার করুন। আপনি যদি কুকি ম্যাচিংও ব্যবহার করেন, তাহলে আপনি আপনার প্রশ্নের মধ্যে একটি মিলের ধরন দ্বারা ফিল্টার করতে পারেন। ব্যবহার করুন:
-
match_type = 1
কুকি ম্যাচিংয়ের জন্য -
match_type = 2
ব্যবহারকারী-প্রদত্ত ডেটা ম্যাচিংয়ের জন্য
match_type
অনুমোদিত হলেও, ফলাফলে এই ক্ষেত্রটি ফেরত দেওয়া যাবে না, তাই আপনার চূড়ান্ত SELECT
বিবৃতিতে এটি অন্তর্ভুক্ত করা উচিত নয়।
নমুনা প্রশ্ন
মিলে যাওয়া ব্যবহারকারীদের গণনা করুন
এই কোয়েরিটি আপনার Google বিজ্ঞাপন ইম্প্রেশন টেবিলে মিলে যাওয়া ব্যবহারকারীর সংখ্যা গণনা করে।
/* Count matched users in Google Ads impressions table */
SELECT COUNT(DISTINCT user_id)
FROM adh.google_ads_impressions_match
ব্যবহারকারী-প্রদত্ত ডেটা মেলে ব্যবহারকারীদের গণনা করুন
এই ক্যোয়ারীটি মিলের ধরন অনুসারে মিলিত ব্যবহারকারীর সংখ্যা গণনা করে। যেহেতু বিজ্ঞাপন ইভেন্ট টেবিলে সাইন-ইন করা এবং সাইন-আউট করা উভয় ব্যবহারকারীর ইভেন্ট রয়েছে, তাই ব্যবহারকারী-প্রদত্ত ডেটা ম্যাচিং ফিল্টার করার ফলে শুধুমাত্র সাইন-ইন করা ব্যবহারকারীদের সাথে মিলিত হবে।
/* Count user-provided data matched users by match type.
match_type = 1 for cookie matching
match_type = 2 for user-provided data matching */
SELECT
match_type AS match_type,
COUNT(DISTINCT user_id) AS user_cnt,
FROM
adh.google_ads_impressions_match
GROUP BY
match_type
এই ক্যোয়ারীটি দেখায় কিভাবে Google Ads ডেটার সাথে প্রথম পক্ষের ডেটাতে যোগ দিতে হয়:
/* Join first-party data with Google Ads data. The external_cookie field
contains your ID as BYTES. You need to cast your join key into BYTES for
successful matches. */
SELECT
inventory_type,
COUNT(*) AS impressions
FROM
adh.yt_reserve_impressions_match AS google_data_imp
LEFT JOIN
`my_data`
ON
google_data_imp.external_cookie = CAST(my_data.user_id AS BYTES)
-- Uncomment the following line if cookie matching is enabled as well.
-- WHERE google_data_imp.match_type = 2
GROUP BY
inventory_type
এই ক্যোয়ারীটি ব্যবহারকারীর-প্রদত্ত ডেটার সাথে মিলে যাওয়া ব্যবহারকারীর সংখ্যা গণনা করে, কুকি মিলে যাওয়া ব্যবহারকারীদের বাদ দিয়ে। মনে রাখবেন যে বিজ্ঞাপন ইভেন্ট টেবিলে সাইন-ইন করা এবং সাইন-আউট করা উভয় ব্যবহারকারীর ইভেন্ট রয়েছে, তাই শুধুমাত্র ব্যবহারকারী-প্রদত্ত ডেটা ম্যাচিংয়ে ফিল্টার করার ফলে শুধুমাত্র সাইন-ইন করা ব্যবহারকারীদের সাথে মিলিত হবে।
/* Count user-provided data matched users, excluding cookie matched users. */
SELECT
COUNT(DISTINCT user_id)
FROM
adh.google_ads_impressions_match
WHERE
match_type = 2
সংযোগ
মূল্যবান বিজ্ঞাপনের অন্তর্দৃষ্টি অর্জনের জন্য প্রায়ই একাধিক উত্স থেকে ডেটা একত্রিত করার প্রয়োজন হয়৷ এই ডেটা পাইপলাইন সমস্যার আপনার নিজস্ব সমাধান তৈরি করতে উল্লেখযোগ্য সময় বিনিয়োগ এবং প্রকৌশল বিনিয়োগ প্রয়োজন। সংযোগগুলি BigQuery-এ ডেটা আমদানি, রূপান্তর এবং লেখার জন্য ধাপে ধাপে, নির্দেশিত ইন্টারফেস প্রদান করে এই প্রক্রিয়াটিকে স্ট্রিমলাইন করে। আপনার ডেটা লেখার পরে, আপনি এটিকে আপনার বিজ্ঞাপন ডেটা হাব কোয়েরিতে বা BigQuery থেকে পড়া অন্য কোনো পণ্যে ব্যবহার করতে পারেন। প্রথম-পক্ষের ডেটা দিয়ে আপনার প্রশ্নগুলিকে সমৃদ্ধ করা গ্রাহকদের আরও সমৃদ্ধ অভিজ্ঞতা প্রদান করতে পারে এবং শিল্প-ব্যাপী বিজ্ঞাপন-ট্র্যাকিং পরিবর্তনগুলির জন্য আরও প্রতিরোধী।
উপরন্তু, সংযোগগুলি এমন সরঞ্জামগুলির সাথে তৈরি করা হয়েছে যা আপনাকে গোপনীয়তা-কেন্দ্রিক পদ্ধতিতে অংশীদারদের সাথে ব্যক্তিগতভাবে শনাক্তযোগ্য তথ্য (PII) এনক্রিপ্ট করতে এবং ভাগ করতে দেয়৷ কোন কলামে PII রয়েছে তা নির্বাচন করার পরে, সংযোগগুলি ডেটা এনক্রিপ্ট করে, এটি নিশ্চিত করে যে আপনার প্রথম পক্ষের ডেটা শুধুমাত্র সেই ব্যক্তিদের দ্বারা রপ্তানি বা পড়তে পারে যাদের কাছে এটি করার অনুমতি রয়েছে৷
আপনি এখান থেকে ডেটা আমদানি করতে সংযোগগুলি ব্যবহার করতে পারেন:
- BigQuery
- মেঘ স্টোরেজ
- সেলসফোর্স (শীঘ্রই আসছে)
আপনার পরিমাপ বা অ্যাক্টিভেশন ব্যবহারের ক্ষেত্রে কোন প্রথম-পক্ষের ডেটা প্রয়োজন তা জানা কঠিন হতে পারে, তাই সংযোগগুলি পূর্বনির্ধারিত ব্যবহারের ক্ষেত্রেগুলির একটি বিস্তৃত তালিকা প্রদান করে, তারপরে আপনার ডেটা নিষ্কাশন, রূপান্তর এবং লোড করার সম্পূর্ণ অভিজ্ঞতার মাধ্যমে আপনাকে গাইড করে৷
আপনার 1P ডেটা এবং ডেটা ম্যাচিংয়ের মধ্যে পার্থক্য
একটি ব্যবহারকারী-প্রদত্ত ম্যাচ টেবিল কনফিগার করার জন্য ওয়ার্কফ্লো সংযোগগুলির মাধ্যমে একটি নিয়মিত প্রথম পক্ষের ডেটা সংযোগ তৈরি করার অনুরূপ। যাইহোক, দুই-প্রকল্পের প্রয়োজনীয়তা অনুমান করে যে আপনি ব্যবহারকারী-প্রদত্ত ডেটা ম্যাচিং ব্যবহার করার আগে সংযোগ স্থাপন করছেন। আপনি যদি শুধুমাত্র ডেটা প্রস্তুতির সরঞ্জাম হিসাবে সংযোগগুলি ব্যবহার করেন তবে আপনি একটি একক Google ক্লাউড প্রকল্প ব্যবহার করতে পারেন৷
ব্যবহারকারী-প্রদত্ত ডেটা মিলের জন্য অতিরিক্ত প্রয়োজনীয়তা:
- যোগদান কী হিসাবে আপনাকে অবশ্যই ইমেল, ফোন, ঠিকানা বা যেকোনো সংমিশ্রণ ব্যবহার করতে হবে।
- আপনাকে অবশ্যই উল্লেখ করতে হবে কিভাবে user_id সংঘর্ষের সমাধান করা হয়। আপনি বিদ্যমান মিল রাখা বা নতুন ডেটা দিয়ে ওভাররাইট করার মধ্যে বেছে নিতে পারেন।
- ডেটাফিউশন এবং ডেটাপ্রোক অ্যাকাউন্টগুলি ছাড়াও আপনাকে অবশ্যই একটি UPDM পরিষেবা অ্যাকাউন্ট ব্যবহার করতে হবে।
আপনার 1P ডেটা ওয়ার্কফ্লো
একটি সংযোগ তৈরি করুন
- সংযোগগুলিতে ক্লিক করুন > আপনার 1P ডেটা > সংযোগ তৈরি করুন ।
- একটি ডেটা উৎসের সাথে সংযোগ করুন। আপনাকে প্রমাণীকরণ করতে বলা হবে।
BigQuery
অনুমতিগুলি আপনার Google অ্যাকাউন্টের উপর ভিত্তি করে, তাই কোনও অতিরিক্ত প্রমাণীকরণের প্রয়োজন নেই৷ নিশ্চিত করুন যে সংযোগ পরিষেবা অ্যাকাউন্টগুলি টেবিলে পড়ার অ্যাক্সেস রয়েছে৷
মেঘ স্টোরেজ
অনুমতিগুলি আপনার Google অ্যাকাউন্টের উপর ভিত্তি করে, তাই কোনও অতিরিক্ত প্রমাণীকরণের প্রয়োজন নেই৷ নিশ্চিত করুন যে সংযোগ পরিষেবা অ্যাকাউন্টগুলির স্টোরেজ বালতিতে পড়ার অ্যাক্সেস রয়েছে৷
বিক্রয় বল
(শীঘ্রই আসছে)
সাইন ইন করতে আপনার প্রতিষ্ঠানের Salesforce শংসাপত্রগুলি ব্যবহার করুন৷ Google আপনার শংসাপত্রগুলি সংরক্ষণ করে না, তাই প্রতিটি নতুন Salesforce সংযোগের পুনরায় প্রমাণীকরণের প্রয়োজন হবে৷
- একটি ব্যবহারের ক্ষেত্রে এবং একটি যোগ কী চয়ন করুন, তারপর ব্যবহার ক্ষেত্রে নির্বাচন করুন ক্লিক করুন৷ আপনি একটি ব্যবহারের ক্ষেত্রে নির্বাচন করতে না চাইলে, এড়িয়ে যান ক্লিক করুন। আপনি পরে একটি ব্যবহারের ক্ষেত্রে নির্বাচন করতে পারবেন না।
- আপনার ডেটা উৎস কনফিগার করুন।
BigQuery
আমদানি করতে BigQuery টেবিলটি নির্বাচন করুন।
মেঘ স্টোরেজ
gsutil ফাইল পাথ লিখুন, যেমন gs
gs://my-bucket/folder/
এবং আপনার ফাইলের বিন্যাস নির্বাচন করুন।বিক্রয় বল
শীঘ্রই আসছে
- আপনার গন্তব্য এবং মানচিত্র ক্ষেত্র কনফিগার করুন.
- Google ক্লাউড প্রকল্প, ডেটাসেট এবং টেবিল নির্বাচন করুন যেখানে আপনি আপনার ফলাফল লিখতে চান। নিশ্চিত করুন যে সংযোগ পরিষেবা অ্যাকাউন্টগুলির ডেটাসেটে লেখার অ্যাক্সেস রয়েছে যা আপনি লিখবেন৷
- প্রতিটি সংযোগ লিখতে একটি নতুন টেবিল তৈরি করবে। আপনি যদি ইতিমধ্যে বিদ্যমান একটি টেবিল নির্বাচন করেন, আপনি একটি ত্রুটি দেখতে পাবেন।
- আপনার উৎস ডেটার উৎস ক্ষেত্রগুলিতে গন্তব্য ক্ষেত্রগুলি (যে ক্ষেত্রগুলি আপনি তৈরি করছেন সেই টেবিলে প্রদর্শিত হবে) ম্যাপ করুন৷
- একটি সময়সূচী সেট করুন।
- আপনার সংযোগের নাম দিন।
- পূর্ববর্তী ধাপে আপনার নির্বাচিত ডেটাসেটে কত ঘন ঘন ডেটা আমদানি করা হবে তা নির্দেশ করে একটি ফ্রিকোয়েন্সি সেট করুন। প্রতিটি রান গন্তব্য টেবিলে ডেটা ওভাররাইট করবে।
- সম্পন্ন ক্লিক করুন. যে সংযোগগুলি প্রচুর পরিমাণে ডেটা প্রক্রিয়া করে তা চলতে কয়েক ঘন্টা সময় নিতে পারে৷
সংযোগ বিবরণ দেখুন
সংযোগ বিশদ পৃষ্ঠা আপনাকে একটি প্রদত্ত সংযোগের সাম্প্রতিক রান এবং ত্রুটি সম্পর্কে তথ্য দেয়। একটি নির্দিষ্ট সংযোগের জন্য বিশদ দেখতে:
- সংযোগ > আপনার 1P ডেটাতে ক্লিক করুন।
- সংযোগটির বিশদ বিবরণ দেখতে তার নামে ক্লিক করুন।
- আপনি এখন সংযোগের বিবরণ এবং সাম্প্রতিক রানগুলি দেখতে পারেন৷ প্রতিটি দুটি সম্ভাব্য ধরণের ত্রুটি দেখায়: সংযোগ-স্তর (সংযোগটি চালানো হয়নি) এবং সারি-স্তরের ত্রুটিগুলি (একটি সারি আমদানি করা হয়নি)৷
- একটি ব্যর্থ অবস্থা নির্দেশ করে যে পুরো সংযোগটি চালানো ব্যর্থ হয়েছে (যেমন পরিষেবা অ্যাকাউন্ট অনুমতি সমস্যা)। কোন ত্রুটিগুলি সংযোগটিকে প্রভাবিত করেছে তা দেখতে ত্রুটির স্থিতিতে ক্লিক করুন৷
- একটি সম্পূর্ণ স্থিতি নির্দেশ করে যে সংযোগটি সফলভাবে চলছে৷ যাইহোক, এখনও সারি-স্তরের ত্রুটি থাকতে পারে — "ত্রুটির সাথে সারি" কলামে একটি অ-শূন্য মান দ্বারা নির্দেশিত। কোন রেকর্ড ব্যর্থ হয়েছে সে সম্পর্কে আরও জানতে মানটিতে ক্লিক করুন।
একটি সংযোগ সম্পাদনা করুন
সংযোগ সম্পাদনা এখনও সমর্থিত নয়. একটি সংযোগ পরিবর্তন করতে, একটি নতুন তৈরি করুন এবং পুরানোটি মুছুন৷
ব্যবহারের ক্ষেত্রে
আপনি যে ব্যবহারের ক্ষেত্রে নির্বাচন করেছেন তা গন্তব্য টেবিল স্কিমা এবং আমদানি করা যোগদানের কী ক্ষেত্রগুলিকে প্রভাবিত করে। তারা কীভাবে স্কিমা এবং জয়েন কীগুলিকে প্রভাবিত করে তা জানতে নীচের ব্যবহারের কেসগুলিকে প্রসারিত করুন:
নাগাল এবং ফ্রিকোয়েন্সি
আপনার 1P ব্যবহারকারীর অংশ দ্বারা কাটা চ্যানেল এবং ডিভাইস জুড়ে প্রচারাভিযানের পৌঁছা এবং ফ্রিকোয়েন্সি পরিমাপ করুন।
ক্ষেত্র নাম | বর্ণনা | টাইপ | প্রয়োজনীয়/ঐচ্ছিক |
---|---|---|---|
যোগদান কী | আপনি কোন যোগদান কী ব্যবহার করেন তার উপর ভিত্তি করে পরিবর্তন | স্ট্রিং | প্রয়োজন |
লিঙ্গ | লিঙ্গ | স্ট্রিং | ঐচ্ছিক |
বয়স | বয়স | int | ঐচ্ছিক |
শহর | শহর | স্ট্রিং | ঐচ্ছিক |
দেশ | দেশ | স্ট্রিং | ঐচ্ছিক |
জীবনচক্র_রাষ্ট্র | গ্রাহক ফানেল অবস্থা: অজানা, অনবোর্ডিং, নিযুক্ত, ল্যাপস, ইত্যাদি | স্ট্রিং | ঐচ্ছিক |
আনুগত্য অবস্থা | রূপা, সোনা, প্ল্যাটিনাম, হীরা, ইত্যাদি | স্ট্রিং | ঐচ্ছিক |
শেষ_ক্রয়ের_তারিখ | শেষ ক্রয়ের তারিখ (ইউনিক্স যুগের টাইমস্ট্যাম্প) | int | ঐচ্ছিক |
শেষ_ক্রয়_পণ্য | পণ্য সর্বশেষ ক্রয় / গ্রাস | স্ট্রিং | ঐচ্ছিক |
শেষ_যোগাযোগের_তারিখ | শেষ যোগাযোগ / বাগদানের তারিখ (ইউনিক্স যুগের টাইমস্ট্যাম্প) | int | ঐচ্ছিক |
এলটিভি | গ্রাহক এলটিভি | int | ঐচ্ছিক |
সাবস্ক্রিপশন_টাইপ | সাবপ্রডাক্ট/সাবস্ক্রিপশনের ধরন যা একজন গ্রাহকের আছে - যেমন ডিলাক্স, ফ্যামিলি প্ল্যান | স্ট্রিং | ঐচ্ছিক |
লেনদেন নাম্বার | এই লেনদেনের জন্য অনন্য আইডি | স্ট্রিং | ঐচ্ছিক |
লেনদেন তারিখ | লেনদেনের তারিখ (Unix epoch টাইমস্ট্যাম্প) | int | ঐচ্ছিক |
লেনদেন_রাজস্ব | লেনদেন থেকে রাজস্ব | int | ঐচ্ছিক |
মুদ্রা | লেনদেনের মুদ্রার ধরন | স্ট্রিং | ঐচ্ছিক |
পরিমাণ | লেনদেনে আইটেম পরিমাণ | স্ট্রিং | ঐচ্ছিক |
মূল্য | লেনদেনে আইটেম প্রতি মূল্য | int | ঐচ্ছিক |
লেনদেন খরচ | লেনদেন থেকে পণ্য / পরিষেবার খরচ | int | ঐচ্ছিক |
লেনদেন_লাভ | লেনদেন থেকে মোট লাভ | int | ঐচ্ছিক |
পণ্য আইডি | লেনদেনে পণ্য(গুলি) এর SKU/আইডি | স্ট্রিং | ঐচ্ছিক |
লেনদেন_বর্ণনা | লেনদেন সম্পর্কে অন্যান্য বিবরণ / মেটাডেটা / পরামিতি | স্ট্রিং | ঐচ্ছিক |
ইভেন্টের ধরণ | যেমন টিভি বিজ্ঞাপনের ছাপ, মার্কেটিং ইমেল, ওয়েবসাইট ভিজিট, ইন-স্টোর ভিজিট ইত্যাদি। | স্ট্রিং | ঐচ্ছিক |
event_id | উপরের ইভেন্টের ইউনিক আইডি | স্ট্রিং | ঐচ্ছিক |
ঘটনা_টাইমস্ট্যাম্প | ইভেন্টের তারিখ (ইউনিক্স যুগের টাইমস্ট্যাম্প) | int | ঐচ্ছিক |
চ্যানেল_মেটাডেটা | এই টাচপয়েন্ট চ্যানেল সম্পর্কে অতিরিক্ত মেটাডেটা বা তথ্য | স্ট্রিং | ঐচ্ছিক |
মাল্টি-টাচ অ্যাট্রিবিউশন
Google ডেটা থেকে টাচপয়েন্টের সাথে আপনার 1P টাচপয়েন্টকে একত্রিত করে অ্যাট্রিবিউশন পরিমাপ করুন।
ক্ষেত্র নাম | বর্ণনা | টাইপ | প্রয়োজনীয়/ঐচ্ছিক |
---|---|---|---|
যোগদান কী | আপনি কোন যোগদান কী ব্যবহার করেন তার উপর ভিত্তি করে পরিবর্তন | স্ট্রিং | প্রয়োজন |
ইভেন্টের ধরণ | যেমন টিভি বিজ্ঞাপনের ছাপ, মার্কেটিং ইমেল, ওয়েবসাইট ভিজিট, ইন-স্টোর ভিজিট ইত্যাদি। | স্ট্রিং | প্রয়োজন |
event_id | উপরের ইভেন্টের ইউনিক আইডি | স্ট্রিং | প্রয়োজন |
ঘটনা_টাইমস্ট্যাম্প | ইভেন্টের তারিখ (ইউনিক্স যুগের টাইমস্ট্যাম্প) | int | প্রয়োজন |
ক্রেডিট | ক্রেডিট মান (অ্যাট্রিবিউশনের জন্য ব্যবহৃত) - যেমন # রূপান্তর | int | ঐচ্ছিক |
চ্যানেল_মেটাডেটা | এই টাচপয়েন্ট চ্যানেল সম্পর্কে অতিরিক্ত মেটাডেটা বা তথ্য | স্ট্রিং | ঐচ্ছিক |
কর্মক্ষমতা বৈশিষ্ট্যের মান
ডেমোগ্রাফিক, অ্যাফিনিটি, বা আপনার 1P ব্যবহারকারীর বিভাগ দ্বারা প্রচারাভিযানের কর্মক্ষমতা পরিমাপ করুন।
ক্ষেত্র নাম | বর্ণনা | টাইপ | প্রয়োজনীয়/ঐচ্ছিক |
---|---|---|---|
যোগদান কী | আপনি কোন যোগদান কী ব্যবহার করেন তার উপর ভিত্তি করে পরিবর্তন | স্ট্রিং | প্রয়োজন |
লিঙ্গ | লিঙ্গ | স্ট্রিং | ঐচ্ছিক |
বয়স | বয়স | int | ঐচ্ছিক |
শহর | শহর | স্ট্রিং | ঐচ্ছিক |
দেশ | দেশ | স্ট্রিং | ঐচ্ছিক |
জীবনচক্র_রাষ্ট্র | গ্রাহক ফানেল অবস্থা: অজানা, অনবোর্ডিং, নিযুক্ত, ল্যাপস, ইত্যাদি | স্ট্রিং | ঐচ্ছিক |
আনুগত্য অবস্থা | রূপা, সোনা, প্ল্যাটিনাম, হীরা, ইত্যাদি | স্ট্রিং | ঐচ্ছিক |
শেষ_ক্রয়ের_তারিখ | শেষ ক্রয়ের তারিখ (ইউনিক্স যুগের টাইমস্ট্যাম্প) | int | ঐচ্ছিক |
শেষ_ক্রয়_পণ্য | পণ্য সর্বশেষ ক্রয় / গ্রাস | স্ট্রিং | ঐচ্ছিক |
শেষ_যোগাযোগের_তারিখ | শেষ যোগাযোগ / বাগদানের তারিখ (ইউনিক্স যুগের টাইমস্ট্যাম্প) | int | ঐচ্ছিক |
এলটিভি | গ্রাহক এলটিভি | int | ঐচ্ছিক |
সাবস্ক্রিপশন_টাইপ | সাবপ্রডাক্ট/সাবস্ক্রিপশনের ধরন যা একজন গ্রাহকের আছে - যেমন ডিলাক্স, ফ্যামিলি প্ল্যান | স্ট্রিং | ঐচ্ছিক |
রূপান্তর অ্যাট্রিবিউশনের পথ
আপনার 1P টাচপয়েন্ট সহ কাস্টম টাচপয়েন্ট সহ রূপান্তর পাথের কর্মক্ষমতা বিশ্লেষণ করুন।
ক্ষেত্র নাম | বর্ণনা | টাইপ | প্রয়োজনীয়/ঐচ্ছিক |
---|---|---|---|
যোগদান কী | আপনি কোন যোগদান কী ব্যবহার করেন তার উপর ভিত্তি করে পরিবর্তন | স্ট্রিং | প্রয়োজন |
ইভেন্টের ধরণ | যেমন টিভি বিজ্ঞাপনের ছাপ, মার্কেটিং ইমেল, ওয়েবসাইট ভিজিট, ইন-স্টোর ভিজিট ইত্যাদি। | স্ট্রিং | প্রয়োজন |
event_id | উপরের ইভেন্টের ইউনিক আইডি | স্ট্রিং | প্রয়োজন |
ঘটনা_টাইমস্ট্যাম্প | ইভেন্টের তারিখ (ইউনিক্স যুগের টাইমস্ট্যাম্প) | int | প্রয়োজন |
ক্রেডিট | ক্রেডিট মান (অ্যাট্রিবিউশনের জন্য ব্যবহৃত) - যেমন # রূপান্তর | int | ঐচ্ছিক |
চ্যানেল_মেটাডেটা | এই টাচপয়েন্ট চ্যানেল সম্পর্কে অতিরিক্ত মেটাডেটা বা তথ্য | স্ট্রিং | ঐচ্ছিক |
ক্রস-প্রকাশক ওভারল্যাপ
আপনার 1P ব্যবহারকারীর অংশ দ্বারা কাটা, প্রকাশক জুড়ে প্রচারাভিযানের নাগাল এবং ফ্রিকোয়েন্সি বিশ্লেষণ করুন।
ক্ষেত্র নাম | বর্ণনা | টাইপ | প্রয়োজনীয়/ঐচ্ছিক |
---|---|---|---|
যোগদান কী | আপনি কোন যোগদান কী ব্যবহার করেন তার উপর ভিত্তি করে পরিবর্তন | স্ট্রিং | প্রয়োজন |
লিঙ্গ | লিঙ্গ | স্ট্রিং | ঐচ্ছিক |
বয়স | বয়স | int | ঐচ্ছিক |
শহর | শহর | স্ট্রিং | ঐচ্ছিক |
দেশ | দেশ | স্ট্রিং | ঐচ্ছিক |
জীবনচক্র_রাষ্ট্র | গ্রাহক ফানেল অবস্থা: অজানা, অনবোর্ডিং, নিযুক্ত, ল্যাপস, ইত্যাদি | স্ট্রিং | ঐচ্ছিক |
আনুগত্য অবস্থা | রূপা, সোনা, প্ল্যাটিনাম, হীরা, ইত্যাদি | স্ট্রিং | ঐচ্ছিক |
শেষ_ক্রয়ের_তারিখ | শেষ ক্রয়ের তারিখ (ইউনিক্স যুগের টাইমস্ট্যাম্প) | int | ঐচ্ছিক |
শেষ_ক্রয়_পণ্য | পণ্য সর্বশেষ ক্রয় / গ্রাস | স্ট্রিং | ঐচ্ছিক |
শেষ_যোগাযোগের_তারিখ | শেষ যোগাযোগ / বাগদানের তারিখ (ইউনিক্স যুগের টাইমস্ট্যাম্প) | int | ঐচ্ছিক |
এলটিভি | গ্রাহক এলটিভি | int | ঐচ্ছিক |
সাবস্ক্রিপশন_টাইপ | সাবপ্রডাক্ট/সাবস্ক্রিপশনের ধরন যা একজন গ্রাহকের আছে - যেমন ডিলাক্স, ফ্যামিলি প্ল্যান | স্ট্রিং | ঐচ্ছিক |
একযোগে প্রচার কর্মক্ষমতা
আপনার 1P ব্যবহারকারীর অংশ দ্বারা কাটা সমান্তরাল প্রচারাভিযানের এক্সপোজারের কার্যক্ষমতার প্রভাব পরিমাপ করুন।
ক্ষেত্র নাম | বর্ণনা | টাইপ | প্রয়োজনীয়/ঐচ্ছিক |
---|---|---|---|
যোগদান কী | আপনি কোন যোগদান কী ব্যবহার করেন তার উপর ভিত্তি করে পরিবর্তন | স্ট্রিং | প্রয়োজন |
লিঙ্গ | লিঙ্গ | স্ট্রিং | ঐচ্ছিক |
বয়স | বয়স | int | ঐচ্ছিক |
শহর | শহর | স্ট্রিং | ঐচ্ছিক |
দেশ | দেশ | স্ট্রিং | ঐচ্ছিক |
জীবনচক্র_রাষ্ট্র | গ্রাহক ফানেল অবস্থা: অজানা, অনবোর্ডিং, নিযুক্ত, ল্যাপস, ইত্যাদি | স্ট্রিং | ঐচ্ছিক |
আনুগত্য অবস্থা | রূপা, সোনা, প্ল্যাটিনাম, হীরা, ইত্যাদি | স্ট্রিং | ঐচ্ছিক |
শেষ_ক্রয়ের_তারিখ | শেষ ক্রয়ের তারিখ (ইউনিক্স যুগের টাইমস্ট্যাম্প) | int | ঐচ্ছিক |
শেষ_ক্রয়_পণ্য | পণ্য সর্বশেষ ক্রয় / গ্রাস | স্ট্রিং | ঐচ্ছিক |
শেষ_যোগাযোগের_তারিখ | শেষ যোগাযোগ / বাগদানের তারিখ (ইউনিক্স যুগের টাইমস্ট্যাম্প) | int | ঐচ্ছিক |
এলটিভি | গ্রাহক এলটিভি | int | ঐচ্ছিক |
সাবস্ক্রিপশন_টাইপ | সাবপ্রডাক্ট/সাবস্ক্রিপশনের ধরন যা একজন গ্রাহকের আছে - যেমন ডিলাক্স, ফ্যামিলি প্ল্যান | স্ট্রিং | ঐচ্ছিক |
লেনদেন নাম্বার | এই লেনদেনের জন্য অনন্য আইডি | স্ট্রিং | ঐচ্ছিক |
লেনদেন তারিখ | লেনদেনের তারিখ (Unix epoch টাইমস্ট্যাম্প) | int | ঐচ্ছিক |
লেনদেন_রাজস্ব | লেনদেন থেকে রাজস্ব | int | ঐচ্ছিক |
মুদ্রা | লেনদেনের মুদ্রার ধরন | স্ট্রিং | ঐচ্ছিক |
পরিমাণ | লেনদেনে আইটেম পরিমাণ | স্ট্রিং | ঐচ্ছিক |
মূল্য | লেনদেনে আইটেম প্রতি মূল্য | int | ঐচ্ছিক |
লেনদেন খরচ | লেনদেন থেকে পণ্য / পরিষেবার খরচ | int | ঐচ্ছিক |
লেনদেন_লাভ | লেনদেন থেকে মোট লাভ | int | ঐচ্ছিক |
পণ্য আইডি | লেনদেনে পণ্য(গুলি) এর SKU/আইডি | স্ট্রিং | ঐচ্ছিক |
লেনদেন_বর্ণনা | লেনদেন সম্পর্কে অন্যান্য বিবরণ / মেটাডেটা / পরামিতি | স্ট্রিং | ঐচ্ছিক |
ইভেন্টের ধরণ | যেমন টিভি বিজ্ঞাপনের ছাপ, মার্কেটিং ইমেল, ওয়েবসাইট ভিজিট, ইন-স্টোর ভিজিট ইত্যাদি। | স্ট্রিং | ঐচ্ছিক |
event_id | উপরের ইভেন্টের ইউনিক আইডি | স্ট্রিং | ঐচ্ছিক |
ঘটনা_টাইমস্ট্যাম্প | ইভেন্টের তারিখ (ইউনিক্স যুগের টাইমস্ট্যাম্প) | int | ঐচ্ছিক |
চ্যানেল_মেটাডেটা | এই টাচপয়েন্ট চ্যানেল সম্পর্কে অতিরিক্ত মেটাডেটা বা তথ্য | স্ট্রিং | ঐচ্ছিক |
প্রচারের তুলনা
Google প্রচারাভিযান এবং অন্যান্য প্রকাশকদের প্রচারাভিযান জুড়ে কর্মক্ষমতা তুলনা করুন।
ক্ষেত্র নাম | বর্ণনা | টাইপ | প্রয়োজনীয়/ঐচ্ছিক |
---|---|---|---|
যোগদান কী | আপনি কোন যোগদান কী ব্যবহার করেন তার উপর ভিত্তি করে পরিবর্তন | স্ট্রিং | প্রয়োজন |
চ্যানেল | যে চ্যানেলে এই প্রচারণা চালানো হয়েছিল (যেমন ফেসবুক, টিভি, ইত্যাদি) | স্ট্রিং | প্রয়োজন |
অংশীদার | জড়িত থাকলে অংশীদারের নাম | স্ট্রিং | ঐচ্ছিক |
কৌশল | নির্দিষ্ট কৌশলের নাম | স্ট্রিং | ঐচ্ছিক |
ক্যাম্পেইন_মেটাডেটা | এই প্রচারাভিযান সম্পর্কে অতিরিক্ত মেটাডেটা বা তথ্য | স্ট্রিং | ঐচ্ছিক |
তারিখ | প্রচার কার্যক্রমের তারিখ (ইউনিক্স যুগের টাইমস্ট্যাম্প) | int | প্রয়োজন |
ছাপ | এই তারিখে এই প্রচারাভিযান থেকে ইম্প্রেশনের সংখ্যা | int | প্রয়োজন |
ক্লিক | এই তারিখে এই প্রচারাভিযান থেকে ক্লিকের সংখ্যা৷ | int | প্রয়োজন |
রূপান্তর | এই তারিখে এই প্রচারাভিযান থেকে রূপান্তরের সংখ্যা৷ | int | প্রয়োজন |
খরচ | এই তারিখে এই প্রচারাভিযান থেকে মোট খরচ | int | প্রয়োজন |
অ্যাফিনিটি এবং লেবেল তুলনা
আপনার 1P ব্যবহারকারী সেগমেন্ট এবং Google অ্যাফিনিটি এবং ইন-মার্কেট অডিয়েন্স সেগমেন্টের মধ্যে ওভারল্যাপ খুঁজুন।
ক্ষেত্র নাম | বর্ণনা | টাইপ | প্রয়োজনীয়/ঐচ্ছিক |
---|---|---|---|
যোগদান কী | আপনি কোন যোগদান কী ব্যবহার করেন তার উপর ভিত্তি করে পরিবর্তন | স্ট্রিং | প্রয়োজন |
লিঙ্গ | লিঙ্গ | স্ট্রিং | ঐচ্ছিক |
বয়স | বয়স | int | ঐচ্ছিক |
শহর | শহর | স্ট্রিং | ঐচ্ছিক |
দেশ | দেশ | স্ট্রিং | ঐচ্ছিক |
জীবনচক্র_রাষ্ট্র | গ্রাহক ফানেল অবস্থা: অজানা, অনবোর্ডিং, নিযুক্ত, ল্যাপস, ইত্যাদি | স্ট্রিং | ঐচ্ছিক |
আনুগত্য অবস্থা | রূপা, সোনা, প্ল্যাটিনাম, হীরা, ইত্যাদি | স্ট্রিং | ঐচ্ছিক |
শেষ_ক্রয়ের_তারিখ | শেষ ক্রয়ের তারিখ (ইউনিক্স যুগের টাইমস্ট্যাম্প) | int | ঐচ্ছিক |
শেষ_ক্রয়_পণ্য | পণ্য সর্বশেষ ক্রয় / গ্রাস | স্ট্রিং | ঐচ্ছিক |
শেষ_যোগাযোগের_তারিখ | শেষ যোগাযোগ / বাগদানের তারিখ (ইউনিক্স যুগের টাইমস্ট্যাম্প) | int | ঐচ্ছিক |
এলটিভি | গ্রাহক এলটিভি | int | ঐচ্ছিক |
সাবস্ক্রিপশন_টাইপ | সাবপ্রডাক্ট/সাবস্ক্রিপশনের ধরন যা একজন গ্রাহকের আছে - যেমন ডিলাক্স, ফ্যামিলি প্ল্যান | স্ট্রিং | ঐচ্ছিক |
অ্যাপ রূপান্তর বিশ্লেষণ
অ্যাপ-মধ্যস্থ আচরণে প্রচারাভিযানের প্রভাব পরিমাপ করুন।
ক্ষেত্র নাম | বর্ণনা | টাইপ | প্রয়োজনীয়/ঐচ্ছিক |
---|---|---|---|
যোগদান কী | আপনি কোন যোগদান কী ব্যবহার করেন তার উপর ভিত্তি করে পরিবর্তন | স্ট্রিং | প্রয়োজন |
তারিখ | মোবাইল অ্যাপ কার্যকলাপের তারিখ (Unix epoch টাইমস্ট্যাম্প) | int | প্রয়োজন |
ইনস্টল | এই দিনে একটি ইনস্টলেশন ইভেন্ট লগ করা হয়েছে কিনা তা বুলিয়ান প্রতিনিধিত্ব করে৷ | বুলিয়ান | প্রয়োজন |
নিবন্ধন | এই দিনে একটি নিবন্ধন ইভেন্ট লগ করা হয়েছে কিনা তা বুলিয়ান প্রতিনিধিত্ব করে৷ | বুলিয়ান | প্রয়োজন |
প্রবেশ করুন | এই দিনে একটি লগইন ইভেন্ট লগ ইন করা হয়েছে কিনা তা বুলিয়ান প্রতিনিধিত্ব করে৷ | বুলিয়ান | প্রয়োজন |
ইন_অ্যাপ_ক্রয় | এই দিনে অ্যাপ-মধ্যস্থ কেনাকাটার মোট পরিমাণ | int | প্রয়োজন |
ROI গণনা
আপনার 1P রূপান্তর ডেটার উপর ভিত্তি করে ক্রমবর্ধমান আয় পরিমাপ করুন।
ক্ষেত্র নাম | বর্ণনা | টাইপ | প্রয়োজনীয়/ঐচ্ছিক |
---|---|---|---|
যোগদান কী | আপনি কোন যোগদান কী ব্যবহার করেন তার উপর ভিত্তি করে পরিবর্তন | স্ট্রিং | প্রয়োজন |
লেনদেন নাম্বার | এই লেনদেনের জন্য অনন্য আইডি | স্ট্রিং | প্রয়োজন |
লেনদেন তারিখ | লেনদেনের তারিখ (Unix epoch টাইমস্ট্যাম্প) | int | প্রয়োজন |
লেনদেন_রাজস্ব | লেনদেন থেকে রাজস্ব | int | প্রয়োজন |
মুদ্রা | লেনদেনের মুদ্রার ধরন | স্ট্রিং | ঐচ্ছিক |
পরিমাণ | লেনদেনে আইটেম পরিমাণ | স্ট্রিং | ঐচ্ছিক |
মূল্য | লেনদেনে আইটেম প্রতি মূল্য | int | ঐচ্ছিক |
লেনদেন খরচ | লেনদেন থেকে পণ্য / পরিষেবার খরচ | int | ঐচ্ছিক |
লেনদেন_লাভ | লেনদেন থেকে মোট লাভ | int | ঐচ্ছিক |
পণ্য আইডি | লেনদেনে পণ্য(গুলি) এর SKU/আইডি | স্ট্রিং | ঐচ্ছিক |
লেনদেন_বর্ণনা | লেনদেন সম্পর্কে অন্যান্য বিবরণ / মেটাডেটা / পরামিতি | স্ট্রিং | ঐচ্ছিক |
কাস্টম দর্শক সক্রিয়করণ
আপনার 1P ডেটা এবং Google ডেটার উপর ভিত্তি করে কাস্টম ব্যবহারকারী বিভাগগুলি তৈরি করুন এবং সক্রিয় করুন৷
ক্ষেত্র নাম | বর্ণনা | টাইপ | প্রয়োজনীয়/ঐচ্ছিক |
---|---|---|---|
যোগদান কী | আপনি কোন যোগদান কী ব্যবহার করেন তার উপর ভিত্তি করে পরিবর্তন | স্ট্রিং | প্রয়োজন |
লিঙ্গ | লিঙ্গ | স্ট্রিং | ঐচ্ছিক |
বয়স | বয়স | int | ঐচ্ছিক |
শহর | শহর | স্ট্রিং | ঐচ্ছিক |
দেশ | দেশ | স্ট্রিং | ঐচ্ছিক |
জীবনচক্র_রাষ্ট্র | গ্রাহক ফানেল অবস্থা: অজানা, অনবোর্ডিং, নিযুক্ত, ল্যাপস, ইত্যাদি | স্ট্রিং | ঐচ্ছিক |
আনুগত্য অবস্থা | রূপা, সোনা, প্ল্যাটিনাম, হীরা, ইত্যাদি | স্ট্রিং | ঐচ্ছিক |
শেষ_ক্রয়ের_তারিখ | শেষ ক্রয়ের তারিখ (ইউনিক্স যুগের টাইমস্ট্যাম্প) | int | ঐচ্ছিক |
শেষ_ক্রয়_পণ্য | পণ্য সর্বশেষ ক্রয় / গ্রাস | স্ট্রিং | ঐচ্ছিক |
শেষ_যোগাযোগের_তারিখ | শেষ যোগাযোগ / বাগদানের তারিখ (ইউনিক্স যুগের টাইমস্ট্যাম্প) | int | ঐচ্ছিক |
এলটিভি | গ্রাহক এলটিভি | int | ঐচ্ছিক |
সাবস্ক্রিপশন_টাইপ | সাবপ্রডাক্ট/সাবস্ক্রিপশনের ধরন যা একজন গ্রাহকের আছে - যেমন ডিলাক্স, ফ্যামিলি প্ল্যান | স্ট্রিং | ঐচ্ছিক |
কাস্টম বিডিং
আপনার 1P ডেটা এবং Google ডেটার উপর ভিত্তি করে Display & Video 360 বিডিং কৌশলগুলি অপ্টিমাইজ করুন
ক্ষেত্র নাম | বর্ণনা | টাইপ | প্রয়োজনীয়/ঐচ্ছিক |
---|---|---|---|
যোগদান কী | আপনি কোন যোগদান কী ব্যবহার করেন তার উপর ভিত্তি করে পরিবর্তন | স্ট্রিং | প্রয়োজন |
লিঙ্গ | লিঙ্গ | স্ট্রিং | ঐচ্ছিক |
বয়স | বয়স | int | ঐচ্ছিক |
শহর | শহর | স্ট্রিং | ঐচ্ছিক |
দেশ | দেশ | স্ট্রিং | ঐচ্ছিক |
জীবনচক্র_রাষ্ট্র | গ্রাহক ফানেল অবস্থা: অজানা, অনবোর্ডিং, নিযুক্ত, ল্যাপস, ইত্যাদি | স্ট্রিং | ঐচ্ছিক |
আনুগত্য অবস্থা | রূপা, সোনা, প্ল্যাটিনাম, হীরা, ইত্যাদি | স্ট্রিং | ঐচ্ছিক |
শেষ_ক্রয়ের_তারিখ | শেষ ক্রয়ের তারিখ (ইউনিক্স যুগের টাইমস্ট্যাম্প) | int | ঐচ্ছিক |
শেষ_ক্রয়_পণ্য | পণ্য সর্বশেষ ক্রয় / গ্রাস | স্ট্রিং | ঐচ্ছিক |
শেষ_যোগাযোগের_তারিখ | শেষ যোগাযোগ / বাগদানের তারিখ (ইউনিক্স যুগের টাইমস্ট্যাম্প) | int | ঐচ্ছিক |
এলটিভি | গ্রাহক এলটিভি | int | ঐচ্ছিক |
সাবস্ক্রিপশন_টাইপ | সাবপ্রডাক্ট/সাবস্ক্রিপশনের ধরন যা একজন গ্রাহকের আছে - যেমন ডিলাক্স, ফ্যামিলি প্ল্যান | স্ট্রিং | ঐচ্ছিক |
ক্রস-প্রকাশক কর্মক্ষমতা
প্রকাশকের দ্বারা কাটা বা প্রকাশক এবং আপনার 1P ব্যবহারকারীর অংশ দ্বারা কাটা কর্মক্ষমতা মেট্রিক্স পরিমাপ করুন
ক্ষেত্র নাম | বর্ণনা | টাইপ | প্রয়োজনীয়/ঐচ্ছিক |
---|---|---|---|
যোগদান কী | আপনি কোন যোগদান কী ব্যবহার করেন তার উপর ভিত্তি করে পরিবর্তন | স্ট্রিং | প্রয়োজন |
লিঙ্গ | লিঙ্গ | স্ট্রিং | ঐচ্ছিক |
বয়স | বয়স | int | ঐচ্ছিক |
শহর | শহর | স্ট্রিং | ঐচ্ছিক |
দেশ | দেশ | স্ট্রিং | ঐচ্ছিক |
জীবনচক্র_রাষ্ট্র | Customer funnel state: unknown, onboarding, engaged, lapsed, etc. | string | Optional |
loyalty_status | Silver, gold, platinum, diamond, etc. | string | Optional |
last_purchase_date | Date of last purchase (Unix epoch timestamp) | int | Optional |
last_purchase_product | Product last purchased / consumed | string | Optional |
last_contacted_date | Date of last contact / engagement (Unix epoch timestamp) | int | Optional |
LTV | Customer LTV | int | Optional |
subscription_type | Subproduct / subscription type that a customer has - eg deluxe, family plan | string | Optional |