diff --git a/app/controllers/search_controller.rb b/app/controllers/search_controller.rb
index d58ed252a36747c0b4bdd2b05567c53ad1d63e30..e38eeaed367622d59f68d7fbdb4b232a9798fb6d 100644
--- a/app/controllers/search_controller.rb
+++ b/app/controllers/search_controller.rb
@@ -144,6 +144,7 @@ def append_info_to_payload(payload)
     payload[:metadata]['meta.search.filters.state'] = params[:state]
     payload[:metadata]['meta.search.force_search_results'] = params[:force_search_results]
     payload[:metadata]['meta.search.project_ids'] = params[:project_ids]
+    payload[:metadata]['meta.search.search_level'] = params[:search_level]
 
     if search_service.abuse_detected?
       payload[:metadata]['abuse.confidence'] = Gitlab::Abuse.confidence(:certain)
diff --git a/spec/controllers/search_controller_spec.rb b/spec/controllers/search_controller_spec.rb
index 58d34a5e5c1de190bd7b3eb382ef421a4ba792c0..0f1501d4c3c8d180b54b3e5ae5790bd036dfe8d9 100644
--- a/spec/controllers/search_controller_spec.rb
+++ b/spec/controllers/search_controller_spec.rb
@@ -397,9 +397,10 @@ def request
           expect(payload[:metadata]['meta.search.filters.confidential']).to eq('true')
           expect(payload[:metadata]['meta.search.filters.state']).to eq('true')
           expect(payload[:metadata]['meta.search.project_ids']).to eq(%w(456 789))
+          expect(payload[:metadata]['meta.search.search_level']).to eq('multi-project')
         end
 
-        get :show, params: { scope: 'issues', search: 'hello world', group_id: '123', project_id: '456', project_ids: %w(456 789), confidential: true, state: true, force_search_results: true }
+        get :show, params: { scope: 'issues', search: 'hello world', group_id: '123', project_id: '456', project_ids: %w(456 789), search_level: 'multi-project', confidential: true, state: true, force_search_results: true }
       end
 
       it 'appends the default scope in meta.search.scope' do