diff --git a/constants.h b/constants.h
index 717e5d2..8a00fc4 100644
--- a/constants.h
+++ b/constants.h
@@ -28,7 +28,7 @@
 static const char kDefaultVersion[] = "0.0.0.0";
 
 // System properties used.
-static const char kBuildTargetIdProperty[] = "ro.product.build_target_id";
+static const char kProductIdProperty[] = "ro.product.product_id";
 static const char kChannelProperty[] = "ro.product.channel";
 static const char kProductVersionProperty[] = "ro.product.version";
 }  // namespace metrics
diff --git a/uploader/system_profile_cache.cc b/uploader/system_profile_cache.cc
index e3f6339..2437b56 100644
--- a/uploader/system_profile_cache.cc
+++ b/uploader/system_profile_cache.cc
@@ -73,10 +73,10 @@
   CHECK(!initialized_)
       << "this should be called only once in the metrics_daemon lifetime.";
 
-  profile_.build_target_id = GetProperty(metrics::kBuildTargetIdProperty);
+  profile_.product_id = GetProperty(metrics::kProductIdProperty);
 
-  if (profile_.build_target_id.empty()) {
-    LOG(ERROR) << "System property " << metrics::kBuildTargetIdProperty
+  if (profile_.product_id.empty()) {
+    LOG(ERROR) << "System property " << metrics::kProductIdProperty
                << " is not set.";
     return false;
   }
@@ -136,7 +136,7 @@
   profile_proto->set_channel(profile_.channel);
   metrics::SystemProfileProto_BrilloDeviceData* device_data =
       profile_proto->mutable_brillo();
-  device_data->set_build_target_id(profile_.build_target_id);
+  device_data->set_build_target_id(profile_.product_id);
 
   return true;
 }
diff --git a/uploader/system_profile_cache.h b/uploader/system_profile_cache.h
index 1d22fa1..3410157 100644
--- a/uploader/system_profile_cache.h
+++ b/uploader/system_profile_cache.h
@@ -39,7 +39,7 @@
   std::string client_id;
   int session_id;
   metrics::SystemProfileProto::Channel channel;
-  std::string build_target_id;
+  std::string product_id;
 };
 
 // Retrieves general system informations needed by the protobuf for context and
diff --git a/uploader/upload_service_test.cc b/uploader/upload_service_test.cc
index 09748db..0dd7db6 100644
--- a/uploader/upload_service_test.cc
+++ b/uploader/upload_service_test.cc
@@ -224,7 +224,7 @@
   upload_service_->sender_.reset(sender);
 
   SetTestingProperty(metrics::kChannelProperty, "beta");
-  SetTestingProperty(metrics::kBuildTargetIdProperty, "hello");
+  SetTestingProperty(metrics::kProductIdProperty, "hello");
   SetTestingProperty(metrics::kProductVersionProperty, "1.2.3.4");
 
   scoped_ptr<metrics::MetricSample> histogram =
@@ -267,7 +267,7 @@
 }
 
 TEST_F(UploadServiceTest, SessionIdIncrementedAtInitialization) {
-  SetTestingProperty(metrics::kBuildTargetIdProperty, "hello");
+  SetTestingProperty(metrics::kProductIdProperty, "hello");
   SystemProfileCache cache(true, dir_.path());
   cache.Initialize();
   int session_id = cache.profile_.session_id;
