diff --git a/ee/lib/api/dependencies.rb b/ee/lib/api/dependencies.rb
index ea13763056a2781c682a7387def80ec1bf92f785..f3a11bb1366e3ebbadbb0d9a7fdab1216d1805c1 100644
--- a/ee/lib/api/dependencies.rb
+++ b/ee/lib/api/dependencies.rb
@@ -35,6 +35,8 @@ def dependencies_by(params)
       get ':id/dependencies' do
         authorize! :read_dependencies, user_project
 
+        track_event('view_dependencies')
+
         dependencies = dependencies_by(declared_params.merge(project: user_project))
 
         present dependencies, with: ::EE::API::Entities::Dependency, user: current_user, project: user_project
diff --git a/ee/spec/requests/api/dependencies_spec.rb b/ee/spec/requests/api/dependencies_spec.rb
index ef0f04a8fc19682c3934c876d04e3aca102e445f..073a73f01df09c5dfe287703c23b760225b935f2 100644
--- a/ee/spec/requests/api/dependencies_spec.rb
+++ b/ee/spec/requests/api/dependencies_spec.rb
@@ -7,13 +7,16 @@
   set(:user) { create(:user) }
 
   describe "GET /projects/:id/dependencies" do
-    let(:request) { get api("/projects/#{project.id}/dependencies", user), params: params }
+    subject(:request) { get api("/projects/#{project.id}/dependencies", user), params: params }
+
     let(:params) { {} }
 
     before do
       stub_licensed_features(dependency_scanning: true, security_dashboard: true)
     end
 
+    it_behaves_like 'a gitlab tracking event', described_class.name, 'view_dependencies'
+
     context 'with an authorized user with proper permissions' do
       before do
         create(:ee_ci_pipeline, :with_dependency_list_report, project: project)