diff --git a/lib/workers/repository/updates/__snapshots__/generate.spec.ts.snap b/lib/workers/repository/updates/__snapshots__/generate.spec.ts.snap
index 8c7322bce7fff99f108e256cda82a1b6fccf93f6..51ebb4b08078373295ceba76c308946d3c781ebb 100644
--- a/lib/workers/repository/updates/__snapshots__/generate.spec.ts.snap
+++ b/lib/workers/repository/updates/__snapshots__/generate.spec.ts.snap
@@ -21,6 +21,7 @@ Object {
     "b",
   ],
   "newValue": "0.6.0",
+  "prBodyColumns": Array [],
   "prTitle": "some-title",
   "prettyDepType": "dependency",
   "releaseTimestamp": undefined,
@@ -95,6 +96,7 @@ Object {
   "isRange": false,
   "labels": Array [],
   "newValue": "0.6.0",
+  "prBodyColumns": Array [],
   "prTitle": "some-title",
   "prettyDepType": "dependency",
   "recreateClosed": false,
@@ -165,6 +167,7 @@ Object {
   "displayTo": "",
   "isLockFileMaintenance": true,
   "labels": Array [],
+  "prBodyColumns": Array [],
   "prTitle": "some-title",
   "prettyDepType": "dependency",
   "releaseTimestamp": undefined,
@@ -204,6 +207,7 @@ Object {
   "lockedVersion": "1.0.0",
   "newValue": "^1.0.0",
   "newVersion": "1.0.1",
+  "prBodyColumns": Array [],
   "prTitle": "some-title",
   "prettyDepType": "dependency",
   "releaseTimestamp": undefined,
diff --git a/lib/workers/repository/updates/generate.spec.ts b/lib/workers/repository/updates/generate.spec.ts
index 6a238e7efb336f885861c0e731f8ddd78c469eb2..c621fdf70909f2e4f0698d269e8e9aa3fcd5af36 100644
--- a/lib/workers/repository/updates/generate.spec.ts
+++ b/lib/workers/repository/updates/generate.spec.ts
@@ -660,6 +660,20 @@ describe('workers/repository/updates/generate', () => {
       const res = generateBranchConfig(branch);
       expect(res.prTitle).toMatchSnapshot('some-title (patch)');
     });
+    it('combines prBodyColumns', () => {
+      const branch: BranchUpgradeConfig[] = [
+        {
+          branchName: 'some-branch',
+          prBodyColumns: ['column-a', 'column-b'],
+        },
+        {
+          branchName: 'some-branch',
+          prBodyColumns: ['column-c', 'column-b', 'column-a'],
+        },
+      ];
+      const res = generateBranchConfig(branch);
+      expect(res.prBodyColumns).toEqual(['column-a', 'column-b', 'column-c']);
+    });
     it('sorts upgrades, without position first', () => {
       const branch: BranchUpgradeConfig[] = [
         {
diff --git a/lib/workers/repository/updates/generate.ts b/lib/workers/repository/updates/generate.ts
index 655e7e067eeae7ad35f96fef7de45ccaa70fc2c9..d9cae64c970efdf2a895cc689ec68346a90d9b86 100644
--- a/lib/workers/repository/updates/generate.ts
+++ b/lib/workers/repository/updates/generate.ts
@@ -1,3 +1,4 @@
+import is from '@sindresorhus/is';
 import { DateTime } from 'luxon';
 import mdTable from 'markdown-table';
 import semver from 'semver';
@@ -305,6 +306,14 @@ export function generateBranchConfig(
   config.dependencyDashboardPrApproval = config.upgrades.some(
     (upgrade) => upgrade.prCreation === 'approval'
   );
+  config.prBodyColumns = [
+    ...new Set(
+      config.upgrades.reduce(
+        (existing, upgrade) => existing.concat(upgrade.prBodyColumns),
+        []
+      )
+    ),
+  ].filter(is.nonEmptyString);
   config.automerge = config.upgrades.every((upgrade) => upgrade.automerge);
   // combine all labels
   config.labels = [