0

Firstly I went through this thread when I began to think on this! Super Messages and CloudPage impressions

Approach 01

%%[
Set @flag = RequestParameter("submitted")
IF @flag == "submitted" then
/* AMPscript which gets executed after the form is submitted */
Else
/* AMPscript which gets executed during the first time load */
]%%
<!DOCTYPE html>
<html>
<head>
<body>
<form action="%%=RequestParameter('PAGEURL')=%%" method="post">
/* some content */
 <input type="hidden" value="submitted" name="submitted">
</form>
<form 
</body>
</html>
%%[endif]%%

Approach 02

Create 2 cloud pages
1) Capture all your required data. And post all form data to next cloudPage for processing.
<form action="%%=RequestParameter('PAGEURL')=%%" method="post">

2) On second cloud page use RequestParameter() method to get data and process.
Set @field1 = RequestParameter("field1")

My question is in the Approach01 as we are NOT hitting cloud-page from an external link/application, does the second time execution is NOT considered as an IMPRESSION and which would save my super messages!

Please Share your thoughts or any better approach to save IMPRESSIONS for the same page.

1 Answer 1

2

No matter what you do, you will be using 2 Impressions on a form post with an HTML form submit.

In Approach 1, you are getting 2 Impressions because you get the original view where they fill out the form. Then when they submit the form, it is reloading the page with the POST information which counts as a second impression.

In Approach 2, you are getting 2 Impressions as well. 1 on the first page, and then a second on page 2 that you are posting to.

Another approach is to attempt to use a Code Resource page to collect the form post (Code Resources do not count as Impressions because they are not made to be viewed, but instead are utilized as storage/hosting). But in order to display a 'thank you' page or similar 'success' page, you would need to redirect to a 3rd page - which would then be considered another impression.

The best way I can think of to handle this and reduce Impressions would be to utilize an AJAX post that sends your form post to a code resource without forcing the page to redirect there. You can then set modules to display after successful submission - meaning that the person will never leave/refresh the page, allowing the impression count to remain at 1.

This process is not easy and has its own risks and I would not attempt unless you have a front-end or UI developer that is very fluent in JS to set this up. It is not hard to do, per se, to get it up, but to ensure that it functions 100% (or close to it) with correct validation and across browsers, you need someone with the correct skillset.

Final option is to build your own hosted processing page and utilize the SFMC API calls to post the information into the corresponding DE. But this seems like it doesn't necessarily fit inside your ask.

2
  • Agreed and accepted all your points @Gortonington ... So to be code efficient and I hope the Approach 01 is better, also it will easy for code management. Commented Mar 20, 2020 at 8:38
  • 1
    I usually utilized approach 1 as well. It is the simplest method for average use case. Commented Mar 20, 2020 at 12:08

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .