         parameters.tagForUnderAgeOfConsent = configuration.isTaggedForUnderAgeOfConsent
 
         // Request an update to the consent information.
+        // The first time we request consent information, even if outside of EEA, the status
+        // may return `.required` as the ATT alert has not yet been displayed.
         consentInformation.requestConsentInfoUpdate(with: parameters) { [weak self] error in
             guard let self = self else { return }
 

            return
        }

        // Present the form
        form.present(from: viewController) { [weak self] error in
            guard let self = self else { return }


                return
            }

            // Update under age of consent again, as status now might return `.notRequired`
            // if outside EEA and ATT alert has been displayed
            self.updateForUnderAgeOfConsent(self.status)

            // Fire did change handler
            self.consentStatusDidChange?(self.status)

            // Fire completion handler
            completion(.success(self.status))
        }
    }
}

// MARK: - Private Methods

private extension SwiftyAdsConsentManager {

    func updateForUnderAgeOfConsent(_ consentStatus: SwiftyAdsConsentStatus) {
        switch consentStatus {
        case .notRequired:
            mobileAds.requestConfiguration.tagForUnderAge(ofConsent: false)
        default:
            mobileAds.requestConfiguration.tagForUnderAge(ofConsent: configuration.isTaggedForUnderAgeOfConsent)
        }
    }
}
