今天的市場營銷是一種高壓的、快節奏的努力——這可能是一種成功的客戶關係和決定離開你的品牌的客戶之間的區別。消費者越來越多地通過不同平台(如網頁vs.手機)和不同渠道(如電子郵件vs.應用內消息)與品牌進行實時數字化互動,他們希望獲得有凝聚力的、相關的體驗。
但事情並不總是按計劃進行。
當破碎的品牌體驗發生的原因有很多。糟糕的數據衛生.人為的錯誤。批處理數據.但有一個潛在的原因沒有得到應有的關注:種族條件。
我總是緊張得不敢問,到底什麼是競態條件?
當電子產品、軟件或任何其他係統依賴於其他不可控事件的順序或時間時,就會出現競態條件。盡管競爭條件本身並不是惡意的,但是當一個或多個可能產生的行為是不可取的時,競爭條件就會成為一個問題。
你能在句子中使用“競態條件”嗎?
這裏有一個現實世界的例子:如果您曾經同時按下兩個燈開關到同一個燈泡,您自己可能也經曆過一個競態條件——燈泡幾乎同時得到“關閉”信息和“打開”信息,而且沒有辦法預測結果會是什麼。在大多數情況下,你會有一個明亮的樓梯,但每隔一段時間,你就會看到一個黑暗的地下室……
你知道的越多!但是等等——每個係統都有競態條件嗎?
在軟件領域,競爭條件通常出現在使用“異步日誌記錄”的操作係統中。通俗地說,這是一個過程,它規定當對同一服務器進行多個調用時,首先到達那裏的信息將首先被處理。
這種方法可以幫助許多程序快速有效地運行,因為在其他任務開始之前,不需要依賴於某些任務的完成。但是,速度越快,責任就越大,在這種環境中工作時,程序員必須牢記數據處理的細微差別。
我打賭我能猜到你為什麼要告訴我這個…
你說對了——braze是一個使用異步處理運行的平台,可以最大限度地提高速度和靈活性。這意味著您可以確保消息在調度時立即發送,並且事件和屬性將在收到後立即添加到每個用戶配置文件中。這也意味著,與任何其他異步運行的係統一樣,當涉及到活動設置時,競爭條件可能會突然出現。
例如,假設PantsLabyrinth品牌的營銷人員想要發送一封郵件觸發當用戶在電子郵件捕獲表單上點擊“提交”時,就會收到關於卡普裏褲的熱門交易的電子郵件。在這個場景中,預期的行為是,當單擊“提交”時,用戶被創建,他們的電子郵件地址被添加到他們的配置文件中,自定義事件觸發向該客戶發送電子郵件。
然而,如果我們在PantsLabyrinth的朋友從他們的服務器通過單獨的調用發送所有這些數據呢API嗎?我們希望在事件發生之前處理創建用戶和添加電子郵件的數據,這樣我們就可以向他們發送消息,但是由於異步處理,觸發事件有可能會贏得這場“比賽”。如果是這種情況,活動將會啟動,但不會有用戶發送電子郵件,活動將會被取消。另一個棘手的問題是,這些調用是持續不斷的,而且幾乎是同時發生的。因此,一些用戶可能會很好地收到消息,而另一些用戶則什麼也收不到。
嗬!那麼,他們如何確保每個人都能聽到卡普裏褲的好話呢?
好消息是Braze會自動做一些事情來防止這種行為,並且您可以采用一些最佳實踐來避免在營銷計劃中出現競態條件場景。
- 發送自定義觸發事件和電子郵件屬性在同一個API調用中。默認情況下,Braze平台的用戶/跟蹤端點如果在同一個JSON對象中發送,則總是在事件之前處理屬性。因此,當用戶點擊“提交”時,PantsLabyrinth的精明工程師可以將所有信息包含在相同的有效載荷中,而Braze將負責其餘的工作。
- 在屬性和事件調用之間添加一個小延遲。在設置電子郵件捕獲表單期間,編寫API行為以首先發送用戶信息,並為自定義事件的POST添加延遲。請記住,最佳延遲時間將根據您的用例以及每次調用中發送的信息的多少而變化,但它是易於測試找到完美區間。
- 觸發“電子郵件已添加”而不是“提交”自定義事件。因為在我們上麵的例子中,活動需要一個電子郵件地址作為目標,所以使用Braze儀表板中的“email added”事件作為觸發器是有意義的。PantsLabyrinth營銷人員隻需要額外確保他們在適當的地方放置額外的過濾器(也許,“收到的電子郵件捕獲活動”邏輯),以便隻有與捕獲表單交互的用戶才能收到電子郵件添加上的消息。
危機避免!還有其他我應該記住的技巧來避免意外的比賽狀況嗎?
Braze支持團隊表示,當營銷人員觸發針對新用戶檔案的活動時,或者當消息的過濾依賴於與觸發同時添加的屬性時,他們最常看到race condition ticket突然出現。
歡迎像上麵這樣的郵件,客戶之旅對於超特定的輸入條件,或者當入站數據被隔離在不同的係統中時(自定義事件在不同的調用中,而不是必要的屬性),都是在按“發送”之前值得仔細查看的情況。
還有別的事嗎?
對於任何為提高異步處理速度而構建的係統,意外的競爭條件都可能是一個副作用。如果您牢記最佳實踐,在發布之前測試您的設置,並仔細檢查文檔,您將獲得Braze的好處,並擊敗競爭條件到達終點線。
要了解如何更好地使用數據並創造有意義的消費者體驗,請查看數據敏捷101.