Working with any marketing automation platform, especially Salesforce Marketing Cloud, can provide a great user experience and a sense of accomplishment. However, it can also entail many stressful hours dedicated to solving seemingly easy issues.
Here are my top 5 tips that made my daily work less stressed and saved me lots of cursing this year:
5. SQL Queries are case insensitive
This may not be a time or mental well-being saver, but sure now you do not need to spend time on “camel case” structure of any column name ever.
I was in ave when I made typo in one of the column name and the SQL worked anyway. It seems like the SQL queries are case insensitive just as the AMPScript functions are. Would you believe that?
4. Dynamically add any information to Send Logging
Send logging is very useful for tracking the email communication history of contacts. It is similar to data views in _Sent, but it allows you to set the data retention period to more than 180 days.
I was pleasantly surprised to discover that you can store automatically any data, as columns in send logging, coming from source data extension or any of the personalization strings and especially any AMPScript variable defined in the message content. This way you can enhance the send log by any information need to trigger any related email send or data export.
3. Add email variation to the proof subject line automatically
The stakeholder requested that all email variants be sent to them. When 20 different emails arrive, it can end up quite messy in your inbox. To sort things out and identify the variants, I used to add various identifications to the subject line manually. However, this process can be very time-consuming, so there must be a better way to handle it.
IF _IsTestSend THEN SET @sl = Concat( Uppercase(@Country), " ", Uppercase(@Language), " ", Uppercase(@Segment), " ", Uppercase(@Audience), "]:", @sl) ENDIF
IF _IsTestSend THEN: This line checks if the email send is a test send. In Salesforce Marketing Cloud,
_IsTestSendis a system variable that is set to
Truewhen the email send is a test, and
Falsewhen it’s a live send. So, the code within this
IFblock will only execute when the email is being sent as a test.
- We set variable
@slthat is printed –
%%=v(@sl)=%%at subjectline email property. You can add as many segments that have impact on the email copy.
2. Proof email preview works but no email is received
This was also discovery after two days of trying to figure this thing out along with great help of salesforce support, which can see the logs on the backend. I have found that some AMPScript written in “certain way” may cause an issue with text version of email. Always take a look at the text version before you send a proof. Look for any ampscript leftovers e.g.
1. Landing pages do not publish immediately
If you build a cloud page you know there is time between you publish the page and it actually refreshes is varying from seconds to minutes. But who has a time to wait unknown time and how do I even know that the cache is refreshed and I am looking at the page its contents i have just published?
The solution is to load your page into a content block and on the landing page only use following code to pull content block contents.
//you can use all ContentBlockBy functions ContentBlockByKey,ContentBlockByName,ContentBlockById %%=TreatAsContent(ContentBlockByKey('my_landing_page'))=%
One pro tip at the end. Always open a case when there is no logical explanation to the issue you are experiencing. But do only after you do some online search.