diff --git src/bp-core/bp-core-functions.php src/bp-core/bp-core-functions.php
index 280f371..1160190 100644
--- src/bp-core/bp-core-functions.php
+++ src/bp-core/bp-core-functions.php
@@ -1274,14 +1274,20 @@ function bp_core_time_since( $older_date, $newer_date = false ) {
  * @param string $message Feedback message to be displayed.
  * @param string $type    Message type. 'updated', 'success', 'error', 'warning'.
  *                        Default: 'success'.
+ * @param string $context Why is this message happening?
+ * @param array  $args    Message args when helpful.
  */
-function bp_core_add_message( $message, $type = '' ) {
+function bp_core_add_message( $message, $type = '', $context = '', $args = array() ) {
 
 	// Success is the default
 	if ( empty( $type ) ) {
 		$type = 'success';
 	}
 
+	// Allow filters to interact with the $message and $type values.
+	$message = apply_filters( 'bp_core_add_message_message', $message, $type, $context, $args );
+	$type    = apply_filters( 'bp_core_add_message_type', $type, $message, $context, $args );
+
 	// Send the values to the cookie for page reload display
 	@setcookie( 'bp-message',      $message, time() + 60 * 60 * 24, COOKIEPATH );
 	@setcookie( 'bp-message-type', $type,    time() + 60 * 60 * 24, COOKIEPATH );
diff --git src/bp-xprofile/bp-xprofile-screens.php src/bp-xprofile/bp-xprofile-screens.php
index fa42da5..e0fd1e8 100644
--- src/bp-xprofile/bp-xprofile-screens.php
+++ src/bp-xprofile/bp-xprofile-screens.php
@@ -106,7 +106,7 @@ function xprofile_screen_edit_profile() {
 
 		// There are errors.
 		if ( !empty( $errors ) ) {
-			bp_core_add_message( __( 'Please make sure you fill in all required fields in this profile field group before saving.', 'buddypress' ), 'error' );
+			bp_core_add_message( __( 'Please make sure you fill in all required fields in this profile field group before saving.', 'buddypress' ), 'error', 'saving_profile_field_group', array( 'updated_profile_field_group' => bp_action_variable( 1 ), 'reason' => 'required_fields_missing' ) );
 
 		// No errors.
 		} else {
@@ -172,9 +172,9 @@ function xprofile_screen_edit_profile() {
 
 			// Set the feedback messages.
 			if ( !empty( $errors ) ) {
-				bp_core_add_message( __( 'There was a problem updating some of your profile information. Please try again.', 'buddypress' ), 'error' );
+				bp_core_add_message( __( 'There was a problem updating some of your profile information. Please try again.', 'buddypress' ), 'error', 'saving_profile_field_group', array( 'updated_profile_field_group' => bp_action_variable( 1 ), 'reason' => 'field_failed_to_save' ) );
 			} else {
-				bp_core_add_message( __( 'Changes saved.', 'buddypress' ) );
+				bp_core_add_message( __( 'Changes saved.', 'buddypress' ), 'success', 'saving_profile_field_group', array( 'updated_profile_field_group' => bp_action_variable( 1 ) ) );
 			}
 
 			// Redirect back to the edit screen to display the updates and message.
