Skip to content

Instantly share code, notes, and snippets.

View wvpv's full-sized avatar

Adam Spriggs wvpv

View GitHub Profile
@wvpv
wvpv / sfmc-profile-sub-center-test-email.html
Created December 11, 2015 18:01
SFMC Profile/Subscription Center Test Email
<html>
<body style="font-family:sans-serif">
<a href="%%profile_center_url%%">Base - Profile/Preference Center</a>
<br/><a href="%%subscription_center_url%%">Base - Subscription Center</a>
<br/><a href="%%unsub_center_url%%">Base - One-Click Unsubscribe</a>
<br/><a href='%%=MicrositeURL(111111,"subscriberMID", "88888888")=%%'>Custom Profile/Preference Center</a>
<br/><a href='%%=MicrositeURL(222222,"subscriberMID", "88888888")=%%'>Custom Subscription Center</a>
<br/><a href='%%=MicrositeURL(333333,"subscriberMID", "88888888")=%%'>One-Click Unsubscribe</a>
<p>This email was sent by:
<b>%%Member_Busname%%</b>
@wvpv
wvpv / sfmc-ampscript-lookup-single-column-single-row.amp
Last active October 19, 2017 19:23
SFMC AMPScript Lookup value of single column value from a certain row
%%[
var @DEColumn1, @lookupValue
set @lookupValue = AttributeValue("lookupField") /* value from attribute or DE column in send context */
set @lookupValue = "whoa" /* or a literal value */
set @DEColumn1 = Lookup("DataExtensionName", "DEColumn1", "LookupColumn", @lookupValue)
]%%
DEColumn1 is %%=v(@DEColumn1)=%%
@wvpv
wvpv / sfmc-ampscript-lookup-multiple-column-single-row.amp
Last active October 19, 2017 19:06
SFMC AMScript Lookup multiple column values from a single row
%%[
var @rows, @row, @rowCount
var @lookupValue
set @lookupValue = AttributeValue("lookupField") /* value from attribute or DE column in send context */
set @lookupValue = "whee" /* or a literal value */
set @rows = LookupRows("DataExtensionName","LookupColumn", @lookupValue)
set @rowCount = rowcount(@rows)
if @rowCount > 0 then
@wvpv
wvpv / sfmc-ampscript-lookup-multiple-column-multiple-ordered-rows.amp
Last active October 19, 2017 19:06
SFMC AMScript Lookup multiple column values from multiple ordered rows
%%[
var @rows, @row, @rowCount, @numRowsToReturn, @lookupValue, @i
set @lookupValue = AttributeValue("lookupField") /* value from attribute or DE column in send context */
set @lookupValue = "whee" /* or a literal value */
set @numRowsToReturn = 0 /* 0 means all, max 2000 */
set @rows = LookupOrderedRows("DataExtensionName",@numRowsToReturn,"DEColumn1 desc, DEColumn2 asc","LookupColumn", @lookupValue)
set @rowCount = rowcount(@rows)
if @rowCount > 0 then
<a href='%%=MicrositeURL(888888,"subscriberMID", "12345678")=%%'>Update Profile</a>
@wvpv
wvpv / sfmc-ampscript-micrositebaseurl-2.amp
Created December 11, 2015 18:13
SFMC AMPScript MicrositeBaseURL() 2
%%[
var @subscriberMID
set @subscriberMID = iif(empty(RequestParameter("subscriberMID")),memberid, RequestParameter("subscriberMID"))
]%%
@wvpv
wvpv / sfmc-ampscript-micrositebaseurl-3.js
Created December 11, 2015 18:14
SFMC AMPScript MicrositeBaseURL() 3
<script type="text/javascript" runat="server">
Platform.Load("core", "1.1.1");
</script>%%[set @subscriberMID = RequestParameter("subscriberMID")]%%<script type="text/javascript" runat="server">
if (Variable.GetValue("@subscriberMID") != "") {
memberid = Variable.GetValue("@subscriberMID");
} else {
memberid = Attribute.GetValue("memberid");
}
</script>
@wvpv
wvpv / sfmc-ampscript-regex-tests.amp
Last active February 7, 2022 10:41
SFMC AMPScript RegEx
%%[
var @s, @o, @p, @m
output(concat("<br>Strip leading zeroes from a string"))
set @s = "0000012345"
set @p = "^0*(\d+)$"
set @o = RegExMatch(@s, @p, 1)
output(concat("<br>input: ", @s))
output(concat('<br>pattern: "', @p, '"'))
output(concat("<br>output: ", @o))
@wvpv
wvpv / sfmc-ampscript-flexible-content-areas-with-xml1.amp
Created December 11, 2015 18:20
SFMC AMPScript Flexible Content Areas with XML Interfaces 1
%%[
set @products = LookupOrderedRows("ProductDE",6, "AvgCustomerRating desc" ,"ApprovedForEmail","true")
set @productCount = rowcount(@products)
set @productXML = "<products>"
for @i = 1 to @productCount do
set @product = Row(@products, @i)
@wvpv
wvpv / sfmc-ampscript-flexible-content-areas-with-xml2.amp
Created December 11, 2015 18:20
SFMC AMPScript Flexible Content Areas with XML Interfaces 2
%%[ set @productPos = 1 ]%%
%%=TreatAsContent(ContentAreaByName("My Contents\ProductDisplay"))=%%
%%[ set @productPos = 2 ]%%
%%=TreatAsContent(ContentAreaByName("My Contents\ProductDisplay"))=%%
%%[ set @productPos = 3 ]%%
%%=TreatAsContent(ContentAreaByName("My Contents\ProductDisplay"))=%%
<a href="%%profile_center_url%%">Profile/Preference Center</a>