diff --git a/CHANGELOG.md b/CHANGELOG.md
index 1b532cb8e0..0f9aef6216 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -7,6 +7,9 @@
     It is marked as version 1 in the definition now. ([#2026](https://github.com/mozilla/glean/pull/2026))
 * Kotlin
   * (Development only) Allow to override the used `glean_parser` in the Glean Gradle Plugin ([#2029](https://github.com/mozilla/glean/pull/2029))
+  * `setSourceTags` is now a public API ([#2035](https://github.com/mozilla/glean/pull/2035)))
+* iOS
+  * `setSourceTags` is now a public API ([#2035](https://github.com/mozilla/glean/pull/2035))
 
 # v44.1.1 (2022-04-14)
 
diff --git a/docs/user/reference/debug/debugViewTag.md b/docs/user/reference/debug/debugViewTag.md
index f2e75f150c..95d1df3341 100644
--- a/docs/user/reference/debug/debugViewTag.md
+++ b/docs/user/reference/debug/debugViewTag.md
@@ -25,14 +25,7 @@ The tag will be applied upon initialization in this case.
 {{#include ../../../shared/tab_header.md}}
 <div data-lang="Kotlin" class="tab"></div>
 <div data-lang="Java" class="tab"></div>
-<div data-lang="Swift" class="tab">
-
-```Swift
-import Glean
-
-Glean.shared.setDebugViewTag("my-tag")
-```
-</div>
+<div data-lang="Swift" class="tab"></div>
 <div data-lang="Python" class="tab"></div>
 <div data-lang="Rust" class="tab">
 
diff --git a/docs/user/reference/debug/logPings.md b/docs/user/reference/debug/logPings.md
index 7b6f63a110..245cba62d4 100644
--- a/docs/user/reference/debug/logPings.md
+++ b/docs/user/reference/debug/logPings.md
@@ -28,14 +28,7 @@ The tag will be applied upon initialization in this case.
 {{#include ../../../shared/tab_header.md}}
 <div data-lang="Kotlin" class="tab"></div>
 <div data-lang="Java" class="tab"></div>
-<div data-lang="Swift" class="tab">
-
-```Swift
-import Glean
-
-Glean.shared.setLogPings(true)
-```
-</div>
+<div data-lang="Swift" class="tab"></div>
 <div data-lang="Python" class="tab"></div>
 <div data-lang="Rust" class="tab">
 
diff --git a/docs/user/reference/debug/sourceTags.md b/docs/user/reference/debug/sourceTags.md
index 483016d3e7..e92d2ed6c7 100644
--- a/docs/user/reference/debug/sourceTags.md
+++ b/docs/user/reference/debug/sourceTags.md
@@ -27,8 +27,22 @@ This API can safely be called before `Glean.initialize`.
 The tag will be applied upon initialization in this case.
 
 {{#include ../../../shared/tab_header.md}}
-<div data-lang="Kotlin" class="tab"></div>
-<div data-lang="Java" class="tab"></div>
+<div data-lang="Kotlin" class="tab">
+
+```Kotlin
+import mozilla.telemetry.glean.Glean
+
+Glean.setSourceTags(setOf("my-tag", "your-tag", "our-tag"))
+```
+
+</div>
+<div data-lang="Java" class="tab">
+
+```Java
+Glean.INSTANCE.setSourceTags(setOf("my-tag", "your-tag", "our-tag"))
+```
+
+</div>
 <div data-lang="Swift" class="tab">
 
 ```Swift
diff --git a/glean-core/android/src/main/java/mozilla/telemetry/glean/Glean.kt b/glean-core/android/src/main/java/mozilla/telemetry/glean/Glean.kt
index c3d1a6abb3..c92afeba60 100644
--- a/glean-core/android/src/main/java/mozilla/telemetry/glean/Glean.kt
+++ b/glean-core/android/src/main/java/mozilla/telemetry/glean/Glean.kt
@@ -702,7 +702,7 @@ open class GleanInternalAPI internal constructor () {
      *
      * @param tags A list of tags, which must be valid HTTP header values.
      */
-    internal fun setSourceTags(tags: Set<String>): Boolean {
+    fun setSourceTags(tags: Set<String>): Boolean {
         return if (isInitialized()) {
             val tagList = StringArray(tags.toList().toTypedArray(), "utf-8")
             LibGleanFFI.INSTANCE.glean_set_source_tags(tagList, tags.size).toBoolean()
diff --git a/glean-core/ios/Glean/Glean.swift b/glean-core/ios/Glean/Glean.swift
index f71e01b670..91b9176acb 100644
--- a/glean-core/ios/Glean/Glean.swift
+++ b/glean-core/ios/Glean/Glean.swift
@@ -575,7 +575,7 @@ public class Glean {
     ///
     /// - parameters:
     ///    * tags: A list of tags, which must be valid HTTP header values.
-    func setSourceTags(_ value: [String]) -> Bool {
+    public func setSourceTags(_ value: [String]) -> Bool {
         if self.isInitialized() {
             let len = value.count
             return withArrayOfCStrings(value) { value in
diff --git a/samples/android/app/src/main/java/org/mozilla/samples/glean/GleanApplication.kt b/samples/android/app/src/main/java/org/mozilla/samples/glean/GleanApplication.kt
index c7bacba5ef..661c457385 100644
--- a/samples/android/app/src/main/java/org/mozilla/samples/glean/GleanApplication.kt
+++ b/samples/android/app/src/main/java/org/mozilla/samples/glean/GleanApplication.kt
@@ -30,6 +30,7 @@ class GleanApplication : Application() {
 
         // Initialize the Glean library. Ideally, this is the first thing that
         // must be done right after enabling logging.
+        Glean.setSourceTags(setOf("automation"))
         Glean.initialize(
             applicationContext = applicationContext,
             uploadEnabled = true,
diff --git a/samples/ios/app/glean-sample-app/AppDelegate.swift b/samples/ios/app/glean-sample-app/AppDelegate.swift
index 1fc3a6fddd..c0b2acf988 100644
--- a/samples/ios/app/glean-sample-app/AppDelegate.swift
+++ b/samples/ios/app/glean-sample-app/AppDelegate.swift
@@ -35,6 +35,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
 
             print("using a mock server, setting address: \(address)")
             let cfg = Configuration(serverEndpoint: address)
+            glean.setSourceTags(["automation"])
             glean.initialize(uploadEnabled: true, configuration: cfg, buildInfo: GleanMetrics.GleanBuild.info)
         } else {
             print("using default config for Glean")