Marketing Automation, Salesforce Marketing Cloud, SFMC Tips & Tricks

Proof email was previewed but not received

Salesforce Marketing Cloud Tips

There are many possible issues, and I will try to list all those I have come across during my times when I wondered where my email is.

Contact is unsubscribed

If the contact you are trying to preview an email with is on one of the global unsubscribe lists, or has unsubscribed or bounced status in Salesforce Marketing Cloud, then you won’t receive the email. If you check test sends in Email studio Admin section, you will see it as one of the exclusion counts.

Column does not exist

If you request nonexistent data extension column, email might render but wont be delivered. Take a look at following AMPScript:

%%[
SET @fn = "Client"
IF NOT EMPTY([First Name]) THEN
	SET @fn = [First Name]
ENDIF
]%%
<h4>Dear %%=v(@fn)=%%,</h4>

/* use this instead */
SET @fn = AttributeValue('First Name')

To mitigate this issue, consider using the AttributeValue function. Unlike directly setting @column = column, which might throw an error if the column is not present in your data extension, the AttributeValue function won’t trigger an error. This approach ensures the email can be previewed and sent successfully.

Double quotes in the inline AMPScript

Not receiving the email could also lead to the incorrect creation of the text version of a multipart email. Please review the text version and check for any AMPScript syntax errors.

/*
this script %%=redirectto(Concat(@ProductUrl1, @qpp1,"&"))=%%
rendered in text version as
*/
%%=redirectto(Concat(@ProductUrl1, @qpp1, 
/*For delivery in delivery logs visible on support side.
They were able to see following error:
ExactTarget.InvalidFunctionException: The function call does not end with the required close parenthesis [)]Function Call: redirectto(Concat(@ProductUrl1, @qpp1,,?
*/

IndexOf function

It might just be a stroke of bad luck, but it happened to me when I used this function, and the email text version rendered incorrectly. Even though there were no visible AMPscript ‘leftovers,’ and it looked fairly good, the only thing off was that it did not remove attributes from the href tag. I initially thought it wouldn’t be an issue that prevents the email from sending, but boy, I was so wrong. No proof received. My text version generated looked like this:

https://martechnotes.com?a=b&c=d" class="..." title"...">

I do not know wether the inline AMPScript use of indexOf was causing the issue or comparison >0 and had to use !=0 instead. I will return to this issue and try more variants to see where it breaks in what combination.

Dynamic sender content block

Sometimes, based on certain configurations you might have missed in, for example, AmpScript or a data extension, it can be used to compute a dynamic sender, which may result in the email not being sent.

Most likely script content block used in dynamic sender profile throws error and this is not shown when you preview your email.

Are there any other cases when the email renders but nothing is actaully received? Let me know in the comments.

GOOD TO KNOW
Always check any anomalies in the text version of rendered email as those may be the reason why email has not been delivered.

Use SET @column = AttributeValue('column') instead of just SET @column = column, which, in case the column is not present in your data extension, will throw an error.

Oh hi there 👋
I have a FREE e-book for you.

Sign up now to get an in-depth analysis of Adobe and Salesforce Marketing Clouds!

We don’t spam! Read our privacy policy for more info.

#AMPScript #email template #programming
Marcel Szimonisz
Marcel Szimonisz
MarTech consultant As a marketing automation consultant, I specialize in solving problems, automating processes, and driving innovation in my clients' marketing platforms.

I hold certifications in Adobe Campaign v6 (3x certified) and Salesforce Marketing Cloud (5x certified).

Additionally, I serve as a community advisor for Adobe Campaign, offering expert insights and guidance.

In addition to my professional pursuits, I also enjoy exploring various programming languages, CMSs, and frameworks, further enhancing my technical expertise and staying at the forefront of industry advancements.
Take a look at our subscription offering in case you are looking for a Marketing Automation Consultant.

Leave a comment

Your email address will not be published. Required fields are marked *

Similar posts that you may find useful

How to leverage queryDef in Adobe Campaign
Adobe Campaign, Marketing Automation

How to Leverage queryDef in Adobe Campaign

7 minutes read

When it comes to programatically selecting records from the database in Adobe Campaign Classic, queryDef emerges as a crucial tool. As a static SOAP method extensively employed in JavaScript, particularly within workflows or web apps, queryDef offers unparalleled capabilities. However, what many may not realize is that there are three distinct implementations of this function. […]

Continue reading
Adobe Campaign Classic enrichment activity
Adobe Campaign, Marketing Automation

How to use enrichment activity in workflow

6 minutes read

The Enrichment activity in Adobe Campaign Classic is a versatile tool that allows campaign managers to enrich their targeting data with additional information from various data sources. In technical terms, the Enrichment activity can be likened to performing a JOIN operation. A JOIN operation is a fundamental concept in database management systems (DBMS), where data […]

Continue reading
Salesforce Marketing Cloud Tips
Marketing Automation, Salesforce Marketing Cloud, SFMC Tips & Tricks

Cannot add attributes to data extension

less than a minute read

Occasionally, as a Salesforce Marketing Cloud administrator, lurker, practitioner, or bystander, you encounter a seemingly simple yet potentially time-consuming task—adding attributes to a data extension. While it may sound straightforward, the process is not always as simple as it appears. When adding or editing data extension attributes in Salesforce Marketing Cloud, you may face a […]

Continue reading
SFMC consent management
Marketing Automation, Salesforce Marketing Cloud

Consent management in SFMC explained

6 minutes read

Even after a couple of years working with Salesforce Marketing Cloud, I am still somewhat lost on how the consent management works. I’ve decided to tackle all the uncertainties I’ve been avoiding since I first started. Let’s dive into this topic and resolve all doubts once and for all. As you might have noticed, there […]

Continue reading
Adobe Campaign Classic tips
ACC Tips & Tricks, Adobe Campaign, Marketing Automation

Fast select field in query builder

less than a minute read

Working with Adobe Campaign Classic often involves frequent mouse movements and clicks. However, after a while, you’ll discover certain tricks to work with this tool more efficiently and quickly. Today, I’ll show you a simple trick that will help you enter fields in the query builder faster and without having to move your mouse across […]

Continue reading