diff --git a/payload_generator/cow_size_estimator.cc b/payload_generator/cow_size_estimator.cc
index 9ab2b87..da4f896 100644
--- a/payload_generator/cow_size_estimator.cc
+++ b/payload_generator/cow_size_estimator.cc
@@ -146,11 +146,13 @@
     std::string compression,
     const size_t partition_size,
     const bool xor_enabled,
-    uint32_t cow_version) {
+    uint32_t cow_version,
+    uint64_t compression_factor) {
   android::snapshot::CowOptions options{
       .block_size = static_cast<uint32_t>(block_size),
       .compression = std::move(compression),
-      .max_blocks = (partition_size / block_size)};
+      .max_blocks = (partition_size / block_size),
+      .compression_factor = compression_factor};
   auto cow_writer = CreateCowEstimator(cow_version, options);
   CHECK_NE(cow_writer, nullptr) << "Could not create cow estimator";
   CHECK(CowDryRun(source_fd,
diff --git a/payload_generator/cow_size_estimator.h b/payload_generator/cow_size_estimator.h
index 7cb3485..060da43 100644
--- a/payload_generator/cow_size_estimator.h
+++ b/payload_generator/cow_size_estimator.h
@@ -38,7 +38,8 @@
     std::string compression,
     const size_t partition_size,
     bool xor_enabled,
-    uint32_t cow_version);
+    uint32_t cow_version,
+    uint64_t compression_factor);
 
 // Convert InstallOps to CowOps and apply the converted cow op to |cow_writer|
 bool CowDryRun(
diff --git a/payload_generator/delta_diff_generator.cc b/payload_generator/delta_diff_generator.cc
index 0da929e..fb967fd 100644
--- a/payload_generator/delta_diff_generator.cc
+++ b/payload_generator/delta_diff_generator.cc
@@ -143,7 +143,8 @@
         config_.target.dynamic_partition_metadata->vabc_compression_param(),
         new_part_.size,
         config_.enable_vabc_xor,
-        config_.target.dynamic_partition_metadata->cow_version());
+        config_.target.dynamic_partition_metadata->cow_version(),
+        config_.target.dynamic_partition_metadata->compression_factor());
 
     // ops buffer size == 0 for v2 version of cow format
     LOG(INFO) << "Estimated COW size for partition: " << new_part_.name << " "
diff --git a/payload_generator/payload_generation_config.cc b/payload_generator/payload_generation_config.cc
index a974180..f9352cc 100644
--- a/payload_generator/payload_generation_config.cc
+++ b/payload_generator/payload_generation_config.cc
@@ -221,6 +221,16 @@
       android::base::ParseUint(cow_version, &cow_version_num);
       metadata->set_cow_version(cow_version_num);
     }
+    std::string compression_factor;
+    if (store.GetString("virtual_ab_compression_factor", &compression_factor)) {
+      LOG(INFO) << "Using VABC compression factor " << compression_factor;
+    } else {
+      LOG(INFO) << "No compression factor specified. Defaulting to 4k";
+      compression_factor = "4096";
+    }
+    size_t compression_factor_value{};
+    android::base::ParseUint(compression_factor, &compression_factor_value);
+    metadata->set_compression_factor(compression_factor_value);
   }
   dynamic_partition_metadata = std::move(metadata);
   return true;
diff --git a/update_metadata.proto b/update_metadata.proto
index 535f386..6d16da4 100644
--- a/update_metadata.proto
+++ b/update_metadata.proto
@@ -372,6 +372,10 @@
 
   // A collection of knobs to tune Virtual AB Compression
   optional VABCFeatureSet vabc_feature_set = 6;
+
+  // Max bytes to be compressed at once during ota. Options: 4k, 8k, 16k, 32k,
+  // 64k, 128k
+  optional uint64 compression_factor = 7;
 }
 
 // Definition has been duplicated from
