9

I use the HTTPGET() AMPScript function to pull in the content from an external web server when developing pages. Like this: %%=TreatAsContent(HttpGet(Concat("http://example.com/your-page.html?x=",GUID())))=%% Then when everything is functional, then I copy the code from the web server back into the Cloud Pages and publish it. This method also works for ...


9

Not a bullet proof solution, but I have implemented an increased level of security by using EncryptSymmetric and DecryptSymmetric, so you avoid storing the id and secret directly in Ampscript. First you create the three required assets in Key Management: Password Salt Initialisation vector You need to use the EncryptSymmetric in a different Cloud Page to ...


8

You have a space in the url, and you need to include name and value pairs for all parameters that you want to pass from email to a CloudPage: %%=CloudPagesURL(ID, 'CampaignCode', @CampCode, 'SegmentName', @SegmentName)=%% Then on a CloudPage, use the RequestParameter function to retrieve the valuse. Documentation: CloudPagesURL: https://developer....


7

@TCassa, your approach appears correct. I've taken this approach many time before. I suspect it is just something minor in your code like a syntax issue or undefined variable. Suggestion: I've started using a new approach in this scenario by using the IIF() function. This approach allows me to place the AMPScript code inline with my HTML. <input type=...


7

Here's a simple drag-drop example written in pure Visualforce: <apex:page controller="DragDrop"> <script> var dragStartId; function cancel(event) { event.preventDefault(); } function dragstart(event) { dragStartId = event.target.dataset.rowid; } function drop(event) { reorderitems(dragStartId, event....


7

The "query" of a page's life cycle is the stuff after the "?" character in a URL, while a request parameter is one placed in the body of the request (a "form post"). Let's look at an example of what a browser might send to a server: POST /path/to/file?The-Query-String=Here&Query-Values=Are-In-The-Url HTTP/1.1 Host: myhost.com Content-Length: 52 Content-...


7

I'd say most (if not all) of the Email, Email Date, Subscriber, and Sender personalization strings are included -- as are any attributes or data extension column names passed over in the send context. That is as long as you're using the CloudPageURL function to arrive at the page from an email. +--------------------+ | Email Date Strings | +---------------...


7

Not entirely. It's mostly feasible, but there are some limitations. Firstly, you'll need to purchase the installation of SSL Certs on your CloudPages from Salesforce. Secondly, you'd not be able to authenticate requests made to your Execute route using JWT (SSJS and AMPScript lack the required libraries to decode the JWT), so there are quite a few scenarios ...


7

AttributeValue() only works on defined in sendable data, which is why your 3rd option still worked. The second option also worked because of this, not because of the passed values. Your first one failed because all values added to the cloudpagesurl() function are parameters and are separate from the associated attributes. This is why param1 returned null as ...


7

You can't add SSJS into validation script, as it is executed in the front-end only. I would very much recommend moving away from Smart Capture and build a custom solution, which will use Ampscript function of CreateSalesforceObject before upserting the form data to a data extension. This way you ensure you can store the field values with a reference to e.g. ...


6

For cloud pages you have to pass the accepted encoding var targetSite = "https://pub.s7.exacttarget.com/f42z3hbhzzzz" var result = HTTP.Get(targetSite,['Accept-Encoding'],['gzip, deflate, sdch, br']); var targetSite = "https://pub.s7.exacttarget.com/f42z3hbhzzzz" var result = HTTP.Post(targetSite,'text/html','test',['Accept-Encoding','x-request-id'],['gzip,...


6

I was able to get the method from @brad to work, but with a few tweaks. First, as mentioned by @MarkP, there's no need for the %%=v(@DecodeFont)=%%);. Second, I wasn't able to get the base64 encoding from that site to work, despite changing the options and trying multiple things. However, I'm on a mac, so I just used the terminal to encode the font and it ...


6

You need to print the variable using %%=v(@id)=%% And not %%[=v(@id)=]%%


6

We built a Cloud Page set that updates the master-subscribe (AllSubscribers) and Publication Lists and passes/retrieves information from Sales Cloud as well, so this is surely possible. Processing is done with AMPscript and some SSJS, so I'd advise to get familar with these two first. There's also an option to write SOAP API / AMPscript variation as well, ...


6

I recently helped a client with this very issue. There are additional file type uploads that can be enabled by SFMC Support, including .svg, .otf, .eot, .ttf, .woff and .woff2. My case number was #18228955 if you need it. 20210421 -- This was enabled for Classic Content/Portfolio, which is now deprecated. These font files are not supported in Content ...


6

Taking a stab in the dark and assuming this is hosted on a cloud page, here is what I would do: Have the page post to itself Have a lookup inside AMPScript to see if the emailaddress already exists in your DE Have a conditional to display error text if already exists or to do an AMPScript insert if it does not and display success content. To post to itself:...


6

It's no different than adding it to any other HTML page. <link rel="icon" type="image/png" href="https://forums.oscommerce.com/favicon.ico"/> This example code piece seems to work fine for me on my test Cloud Page.


6

Linking with CloudpagesURL automatically inserts the subscriberkey to the landingpage with the QS parameter that salesforce attaches (its hashed with more values but subscriberkey is in it). The way to go would just be RedirectTo(CloudpagesURL(999)) To attach parameters that are not part of salesforce QS parameter it would be Concat(RedirectTo(...


6

I really wouldn't recommend this, as it is going to likely be slow - but as this is for testing only, you could reference the _Subscribers Dataview in the lookup: ROWCOUNT(LOOKUPROWS('_Subscribers','SubscriberKey',_subscriberkey)) > 0 This Dataview would contain the Subscriberkey of every subscriber in your email 'All Subscribers' list. Another option I ...


5

1. Classic Editor Within CloudPages collection the page ID for CSS can be found by inserting the CSS resource into a landing page. Here are the steps involved: First create a landing page through the create option within a collection. Create CSS Code resource from the same create option. Then edit the landing page which was created in first step and on the ...


5

If you're arriving at a CloudPage from a CloudPagesURL() link in an email, then you can retrieve the _subscriberKey personalization string with AttributeValue(): %%[ var @Id, @firstName, @lastName, @email, @subscriberRows, @subscriberRow, @OptIn, @OptOut set @Id = AttributeValue("_subscriberkey") IF RequestParameter("submitted") != true THEN set @...


5

You need to output the value using the v-Function in order to achieve that. As you are already within an AMPscript-Block, you don't need the starting and ending codes %%= and =%%. This code will work: %%[ VAR @skey, @Type SET @skey = RequestParameter("skey") SET @Type = RequestParameter("Type") IF Not Empty(@skey) THEN UpsertData("...


5

I think that means "until [you're ready to] move to CloudPages" (i.e., CloudPages aren't missing any features that I need). From the Content Builder FAQ: What if I Want to Create Content for Classic Landing Pages and Microsites? Where possible, use CloudPages. Support for classic Landing Pages and Microsites goes beyond the end-of-support and ...


5

From a functionality point of view, this is definitely approachable. You will be extensively using the CloudpageURL function to pass parameters onto cloudpages. Step 1: (Passing values from email to Cloudpage1) @parameter1 can be a value in your sendable DE or subscriberkey or anything set within the email which will be passed into Cloudpage1. 123 is the ...


5

You can use the CloudPagesURL pass data from the email to the CloudPage and use the RequestParameter AMPscript function to retrieve the data (GET and POST method). Or you can use QueryParameter function (GET method). %%[ set @subKey = RequestParameter("_subscriberKey") ]%% For data from CloudPage to CloudPage, a simple form input and RequestParameter ...


5

When setting up the SSL, normaly the support will ask you some questions amongst which are the questions: Will you require references made directly to HTTP to be force redirected to HTTPS? ...OR... Would you like for references made directly to HTTP to work as is, without redirecting to a secured link? You simply need to answer YES the ...


5

Domain whitelist is intended to store domains to which you can perform redirects on form submission in Cloud Pages or in Smart Capture forms. Let's say you host a form on Cloud Page hosted on e.g. marketing.ampscript.guide and want it to redirect to sprignaturemoves.com, your form submission will fail, if domain whitelisting is enabled, but sprignaturemoves....


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 would suggest storing the PID in a hidden field within your form that's submitted to the form handler. Like this: set @PIDMask = RequestParameter("PID") <input type="hidden" name="PIDMask" value="%%=v(@PIDMask)=%%" /> Then your form handler can retrieve it from the URL.


4

You can search the All Subscribers list for their status, or query the _Subscribers Data view returning the EmailAddress and Status. The query should look like this SELECT EmailAddress ,Status FROM _Subscribers WHERE EmailAddress = "EmailYouJustUnsusbcribed" A caveat to this will be when the emailaddresses and subscriber keys are not the same. Then I ...


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