diff --git a/app/betterplace.ts b/app/betterplace.ts
index a3ce666c747a5432a1c45b1d83e3bd6c608ad1a7..edb72c7aa73aca6ce4ace4f95f5f93b54e67fd5e 100644
--- a/app/betterplace.ts
+++ b/app/betterplace.ts
@@ -151,7 +151,7 @@ export const fetchCategories = async (projectId: number): Promise<string[]> => {
     const categories = json.data as Array<ApiProjectCategory>;
     return categories.map(transformProjectCategory);
   } catch (e) {
-    logger.error(
+    logger.warn(
       `Error while fetching project categories from '${href}', using empty array to handle this (somewhat) gracefully`,
       e,
     );
@@ -173,7 +173,7 @@ export const fetchNews = async (
     const news = json.data as ApiBlogPost[];
     return news.map(transformNews);
   } catch (e) {
-    logger.error(
+    logger.warn(
       `Error while fetching blog posts from '${href}', using empty array to handle this (somewhat) gracefully`,
       e,
     );
@@ -192,7 +192,7 @@ export const fetchInitiativeUrl = async (
     const organisation: ApiOrganisation = await response.json();
     return organisation.links.find((l) => l.rel === "platform")?.href;
   } catch (e) {
-    logger.error(
+    logger.warn(
       `Error while fetching organisation url from '${initiative.url}', using api url to handle this (somewhat) gracefully`,
       e,
     );
diff --git a/app/logging.ts b/app/logging.ts
index dcd266055c37924d48e605d73952e821f0386a28..06779e533e520e78df05e7bb026dba44f13d747e 100644
--- a/app/logging.ts
+++ b/app/logging.ts
@@ -88,6 +88,10 @@ class Logger {
     this.log(LogSeverity.INFO, message, options);
   }
 
+  warn(message: string, options = {}) {
+    this.log(LogSeverity.WARNING, message, options);
+  }
+
   error(message: string, options = {}) {
     this.log(LogSeverity.ERROR, message, options);
   }
diff --git a/terraform/environments/deployment.tf b/terraform/environments/deployment.tf
index 7f33d5e9863f4777d975ebb7e149bf11a80c4676..37f5b84cce3712eb8d0fa8ed10085810b6afbb74 100644
--- a/terraform/environments/deployment.tf
+++ b/terraform/environments/deployment.tf
@@ -82,6 +82,11 @@ resource "google_cloud_run_service" "donations_api" {
         # possible values: all-traffic/private-ranges-only(default) https://cloud.google.com/sdk/gcloud/reference/run/services/update#--vpc-egress
         "run.googleapis.com/vpc-access-egress" = "private-ranges-only"
       }
+      # labels set on the revision level
+      labels = {
+        "environment_type" = local.environment_type
+        "holi_service"     = "app-donations"
+      }
     }
   }
 
@@ -91,6 +96,11 @@ resource "google_cloud_run_service" "donations_api" {
       # possible values: all/internal/internal-and-cloud-load-balancing https://cloud.google.com/sdk/gcloud/reference/run/services/update#--ingress
       "run.googleapis.com/ingress" = "internal"
     }
+    # labels set on the service level
+    labels = {
+      "environment_type" = local.environment_type
+      "holi_service"     = "app-donations"
+    }
   }
 
   traffic {
diff --git a/terraform/environments/vars.tf b/terraform/environments/vars.tf
index 6ade95cbd45edf6a2a1d950544860014f431e27d..3559ec6ebf78a8d721b0ef46aca86875eba447d8 100644
--- a/terraform/environments/vars.tf
+++ b/terraform/environments/vars.tf
@@ -2,6 +2,7 @@ locals {
   # predefined environment names are staging, production, and <branchname>
   environment      = terraform.workspace
   environment_name = trim(substr(local.environment, 0, 22), ".-") # limits the length of the name that it fits constraints google imposes for some resources, e.g. project ids
+  environment_type = contains(["staging", "production"], local.environment) ? local.environment : "review"
 
   # the dns name can be at most 64 chars in total
   dns_name = "${trimsuffix(substr(local.environment, 0, 34), ".-")}.${data.terraform_remote_state.holi_donations_api_common_state.outputs.dns_donations_api_domain}"