For the data extension limit, you can wrap the whole page and logic inside an AMPscript block. This block would lookup to your DE and if count is greater then 300 then show the 'sorry maximum has been met' content, otherwise show the form.
%%[ SET @myDE = 'myDEName'
SET @DErowcount = DataExtensionRowcount(@myDE)
IF @DErowcount > 300 THEN ]%%
The easiest solution would be to have the URL directing your user to the CloudPage to use CloudPagesURL function. This will allow you to pass all the sendable data from your sending DE.
e.g. (in email)
<a href="%%=RedirectTo(CloudPagesURL(77))=%%" >yourPage</a>
e.g. (on page)
<input type="text" Name="FirstName" value="%%=AttributeValue("...
You could inject everyone who fills out the form into the journey, and as the first step, use a decision split to check whether checkValue matches the criteria or not:
if not, they exit the journey
if it matches, they continue the journey
You need to make sure that the Data Extension you’re using for the form is a part of an Attribute Group in Contact ...
You don’t need the %% signs inside of an AMPscript block. This is the correct synthax:
VAR @SubscriberKey, @EmailAddress
set @EmailAddress = emailaddr
set @SubscriberKey = Concat('TEST_', @EmailAddress)
But you don't actually need the above block - you pass the value in a hidden form field if you just include the following inline AMPscript string ...
Your lookup logic looks strange. You are both passing email address in your cloudpagesurl as an Attribute, and looking it up in VisaAcquiDeJuly based on subscriber key (which also seems to be the email address)?
Normally, I would just use email address which is automatically included as a parameter in CloudPagesURL (without you need to add it explicitly), as ...
If your sales team is using a distribution group so that a single email address is used to email the group, you can use Journey Builder to send an email for each record added through your form.
When creating the Data Extension for the form, you will want to have the field for EmailAddress configured to be populated with the email address for your Sales ...
Try the following:
In Web Studio, create two Code Resources, first one being the "reset" CSS and second one your own CSS that you want to apply.
In the "reset" resource, use the following: https://codepen.io/zuzannamj/pen/JjjQVZK.css
Publish both code resources and copy their links.
Link them in the Code View in your CloudPage, first the "reset", then ...
All Subscribers list is not meant to store data like form submissions. The primary purpose of All subscribers list is to store the status of your subscribers (active, bounced, unsubscribed), you can read more here: https://help.salesforce.com/articleView?id=mc_es_all_subscribers_list.htm&type=5
Data Extensions are the best way to work with Smart Capture ...
I would build a custom solution, creating your new leads/contacts in SFDC. This way, you avoid having having duplicates, if your sales creates same person in SFDC, while your form only creates same one in SFMC.
You would create a Cloud Page with a form, where all the needed fields are present. This form should then post to itself, where AmpScript is taking ...
There shouldn't be a need to modify the Smart Capture form's submit link. Hidden attribute values will be included during form submission automatically if their initial values are set to capture them from the CloudPagesURL-generated link, e.g., RequestParameter('my_token').
This is expected behavior. When you inject a contact into a journey they are established within the contact model (All Contacts) even though they are not yet been sent an email and added to All Subscribers. When you then use the create lead activity, the Marketing Cloud then stores the lookup between the contactkey and the LeadID within the alternate key ...
Currently the only way to use a SmartCapture form in a second journey is to copy the initial journey which the SmartCapture form is associated. If you have already deleted all versions of the previous journey, the only option at this time is to create a new SmartCapture form.
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 ...
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
And place this somewhere at the end of the CloudPage, after the ...
Although the documentation says it's possible to add Smart Capture Form Actions, I wasn't able to find that option anywhere.
UPDATE: Seems above is outdated, as it only works with Smart Capture in classic content view in Marketing Cloud Email Studio.
As a workaround, I'd suggest using Journey Builder.
When you create your SmartCapture form, check the box ...
You can make use of textarea propert in HTML to specify your field length
Click on the "specific interest field" in the canvas > Go to HTML editor tab > Change the input type from Text to TextAread
Below is an example for one field called 'CustomerID' where you can have a bigger area to enter text.
<div class="smartcapture-controls"><div ...
The short answer is YES!
Basically a every Smart Capture form created by the MC platform will be assigned with a unique ID. And this ID is used across all the CSS ans well to identify the form.
Now using the basic CSS we must find the required class [which will be automatically created by the platform] But be cautious NOT to change any of the existing ...
Firstly, the to answer your question Currently the SMART CAPTURE is ADD ONLY! hence you cannot perform UPDATE operations via SMART capture.
According to me, the best solution is to hand code a cloud page to achieve your requirement, by simple AMPscript functions. Below site by @Eliot Harper would definitely would help
AMPscript guide: https://ampscript....
Yes, that's possible, but it's not an OOTB feature:
You could make an API call from your processing page and pass all the contact details into journey builder: https://help.salesforce.com/articleView?id=mc_jb_admit_contacts_via_api.htm&type=5
So here's a high-level setup:
Create a journey with an API event entry source
Install the managed package for ...
You can get checkbox value by alternate way that is, Instead of passing variable value pass the data extension name in the URL. Then read the data extension name as parameter then lookup for checkbox value on your submit page. I am assuming your checkbox type is boolean so the code will be
set @Email = email to match for checkbox value true or false
I would recommend you to follow a headless approach to this :-)
How I have done this before is by building JSON code resources in Cloud Pages, exposing the data from SFMC in a way allowing it to be fetched, parsed and committed using JS. Let's follow an example:
You build a page on your existing website: www.example.com/preferences
When building a ...
I am seeing updated documentation where it says that "Upsert to Data Extension" is now available for Smart Capture.
This is done via Smart Capture Form Actions
Please see additional resources:
That documentation is for Smart Capture forms for legacy Landing Pages/Microsites within Email Studio. The Cloud Pages Smart Capture documentation is below.
No upsert option exists in CloudPages currently. The workaround is to create a custom form via HTML on your landing ...
I don't believe you are going to have much luck implementing this using a smart capture form on a CloudPage. You are going to have to execute a logUnsubEvent in order to update a subscriber's status within the platform, but the smart capture form is made to capture data and not execute functions on it (without some scripting anyway).
So, in order to ...
Try inserting the following before the closing </form> tag when editing the Smart Capture block's HTML:
var formInputToEmail = document.getElementsByName('toEmail');
var placeholderToEmail = document.createAttribute('placeholder');
placeholderToEmail.value = 'Email*';
This will be a pure front-end implementation, hence agnostic in terms of whether it is running on Cloud Pages or any other platform. You can use some of the many jQuery plugins out there to accomplish this. A quick Google search came up with e.g. this one: