7

You can't prevent this. Should I forward my email to you, you will indeed be able to click the Unsubscribe link, and unsubscribe on my behalf. There are no recommended ways of preventing it, but there are few options, if you really want to annoy your subscribers (and probably also violate your local legislation): You can trigger an email, asking the ...


5

This behavior started occurring in a recent Marketing Cloud release. It occurs when you preview the CloudPage before publishing. It appears that Salesforce has changed the way that CloudPages are interpreted (and now use the same process as email previews). If you publish the page, then this error should not occur and your code will be interpreted correctly.


4

I have been using this approach to host my Cloud Page code in a private GitHub repo. You should create this private repo, along with a personal token, so Cloud Pages can fetch the code while this is still hidden from curious eyes by not being public. In the Cloud Page itself, you need to define where it should look for the code, using this approach: <...


4

If you simply need to redirect straight away without any validation then you were close to the solution - %%[ SET @Id = RequestParameter("Id") SET @Response = RequestParameter("Response") SET @upload = UpdateSingleSalesforceObject("Lead", @Id, "Consultation_Attended__c", @Response) IF @Response == "Yes" ...


3

AMPScript and SSJS will only run at the server-side which is before the code is passed to the client/browser. This means that they will never see nor be able to interact with either of these languages. To that affect, you cannot directly call AMPScript nor SSJS in client-side code. If you need this capability, you can create a Code Resource page that is ...


3

So, any time you close a script block and open a new one, that will reduce performance. Combine that with a mix of scripting languages (SSJS and AMPscript) and you add more processing. So yes, this will have some impact in total performance and speed of delivery. Try catch itself as well can add a slight delay as well due to how it is executed. Now the ...


3

This is a known issue with the CloudPagesURL function: In your Email you want to redirect a Subscriber to a specific CloudPage of your choice after clicking on a Button. When you configure a Button within your Email, you have the option to select the CloudPage directly.  After selecting the CloudPage, the Editor will automatically add the CloudPageURL ...


3

This discussion came up somewhere else in the community a while ago, and someone reached out to Support. This is the answer they got: These cookies [“ADRUM_BTa & ADRUM_BT1”] track errors that users may receive and provide our technical teams with insight to make sure that we can improve your user experience.These do not store or process PII [Personally ...


3

There are some subtle differences between the functions to pass values from an email to a CloudPage. NOTE: Be sure and test this functionality from your inbox. CloudpageURL doesn't pass context properly from send-preview. If I use the following link to test the methods for passing parameter values -- where field1 and OTP are columns in my sending data ...


3

If the output of <ctrl:var /> is a string, then you would need to wrap it in quotes to show it as such. Although in many places this is automatically done, but it is not done with this output. So if you do console.log("<ctrl:var name=temp />"); it should work. Also, it is lowercase console not uppercase Console. JS is case sensitive so ...


3

you are inside an AMPScript definition block (opened by %%[ and closed by ]%%) so you do not need to (in fact, shouldn't) add the inline ampscript markings (%%= and =%%) for functions inside it. This should be more like it (when used on a cloudpage): %%[ IF @Status == "Yes" THEN Redirect(CloudPagesURL(400)) ENDIF ]%% CloudpagesURL() is a ...


2

First of all: SSJS is available in Cloud Pages, so this is not a limitation. Secondly, you must be aware that each execution/page view of a Cloud Page results in one SuperMessage being consumed. If you plan on implementing this on a website with millions of page view monthly, you will run out of SuperMessages before sending any emails based on data collected....


2

The new information you're updating back(FirstName,LastName,Email etc..) to salesforce is matching with some of the existing data which is triggering a duplicate rule. You might want to look at duplicate rules on the lead object to verify this. So goto Setup --> Duplicate Rules --> Standard Contact Duplicate Rule (LINK) --> Edit --> Action --> ...


2

In relation to the narrow question, "How to retrieve parameters from a URL?", you can get the value of your "emailaddr" query string parameter using the QueryParameter() or RequestParameter() functions. Given in your example this code runs for GETS and POSTS, stick with RequestParameter(): SET @subscriberkey = RequestParameter('...


2

This is indeed a good question. However, what you are asking is a complete solution design, without telling us anything about your own attempt to solve this, which often will result in your question being closed without any answers being provided. My recommendation would be to replace all the hardcoded texts in the cloud page with ampscript. E.g. "I ...


2

The ADRUM* cookies are set by AppDynamics, which is used for performance monitoring. They are anonymous and hence can't be tied to any contact in Marketing Cloud, nor are they used to identify visitor across other sites, and can't be used maliciously to obtain sensitive data. You can read more about this monitoring here: https://docs.appdynamics.com/display/...


2

Server-Side Javascript is executed first (on the server) and the output is then “sent” to the client where client side code is executed - you cannot do it the other way around, eg. get the form data using client side javascript and process it with SSJS on the same page. You would have to either send the form data to a form handler page or a code resource or ...


2

This question could be closed due to being off-topic since it is more related to HTML+CSS without any connections to Salesforce (considering that point #1 from below will not help). It could not be considered as full solution, yet will navigate you in the right direction to find the answer: Firstly, go to the Image Block Content tab and see if the "...


2

You can definitely do it in several approaches but here is my suggestion: Create two new nullable Boolean fields in the Entry Source Data Extension, let's call them FormSubmitted and FormUpdated Add the logic on the CloudPage that once the form is submitted, you populate one of these fields with True value. So it going to be if FormSubmitted is empty, then ...


2

I probably wouldn't mix the two, I would instead use the REST MessageDefinition Endpoint to get the message.content.id and then use that to grab the HTML via the REST Asset endpoint. Something like this: GET /messaging/v1/messageSends Host: {{subDomain}}.rest.marketingcloudapis.com Authorization: Bearer {{authToken}} Content-Type: application/json Which ...


2

In your first code snippet, you have a fully correct and working code, where you only needed to add the additional field Health_Wellness_Tips__c and value from @opt variable to both UpdateSingleSalesforceObject functions. However, the problem hides in your second code snippet that has a different "IF" statement, where you have extra "ENDIF&...


2

The UpsertDE method can be used in sendable contexts, such as email messages. UpsertData should be used in non-sendable contexts, such as landing pages. UpsertData: "Updates or inserts information into a data extension as indicated by the array containing the listed column name and value pairs. This method adds the information if the data extension ...


2

Try this, seems you almost got it right. Paste this at the very top of your CloudPage, somewhere above the Smart Capture form: %%[ SET @ROWS = LOOKUPROWS('Test_0930_Email','EMAIL', EMAILADDR) IF ROWCOUNT(@ROWS) > 0 THEN Redirect('https://via.placeholder.com/300x300.png?text=SAMPLE') ELSE]%% And place this somewhere at the end of the CloudPage, after the ...


2

Your AMPscript variables @EMAIL, @NAME, and @MOBILE are empty. That is why you end up with only parameter names but no values in the submission link. Unfortunately, you cannot capture input values with AMPscript since it is a server-side language that is executed once per page load. To achieve what you want you need either to configure a form handler or pick ...


1

You can utilise this function to access the MID in SSJS: var mid = Platform.Recipient.GetAttributeValue('memberid'); To be honest, I have not tested it in a Script Activity, but it works as expected in a Cloud Page.


1

EDIT So I investigated this a bit more and it appears you can still use it inside the same block, but you need to have the open and close script tags inside of the content. See below example: <script runat=server> Platform.Load("Core","1.1.1"); Platform.Function.ContentBlockByKey("writeDebug") var label = "...


1

A couple things: You should add the tracking code via Code View as @StijnHoste said in the comment. Any Javascript inside of any content blocks will be removed once you reopen it. If you were to put the tracking inside a block, it would run for the whole page. Code View You are able to fully edit every aspect of your webpage 'template' inside of this view ...


1

You can’t simply take any JS and run it as SSJS. Since you will be running it server side, the code will only be executed once, when the page loads. If you need to do anything which relates to capturing events happening client side (like a checkbox changing state), you should not set runat=“server” attribute


1

Because if you would click the "Code View" button to see the HTML code of the CloudPage, you would find that <html> and <body> tags are already there and those could be mentioned only once on the page, otherwise browsers would have difficulties to render the page. As for the <style> tag, it is actually there, but the HTML block is ...


1

The "name" must be the same for both input fields; this is what links radio buttons together. Use the "value" to specify the value that should be used. <div class="sc-formfield-input"><label>&nbsp;<!-- Just Blank--></label> <input type="radio" id="willNotAttend" name="...


Only top voted, non community-wiki answers of a minimum length are eligible