Skip to content

v1.5.0 - personalisation inside links

Choose a tag to compare

@appcoderikbal appcoderikbal released this 26 Oct 13:03
· 3 commits to main since this release

Placeholders now work inside link URLs.

https://example.com/book?fname={{first_name}}&lname={{last_name}}&e={{email}}

becomes, per recipient:

https://example.com/book?fname=Anne%20Marie&lname=O%27Brien&e=anne%40test.com

Values are percent-encoded, not HTML-escaped - a name containing a space, an apostrophe or an ampersand would otherwise break out of its query parameter.

Available: {{first_name}}, {{last_name}}, {{full_name}}, {{email}}, {{company_name}}, {{website}}, {{country}}.

Click tracking still works

Previously a link containing a placeholder was silently excluded from tracking. It is now tracked as a template, with the real destination resolved at the moment of the click - the only point at which the recipient is known.

Safety

Contact data arrives by CSV and is not trusted to decide where a link points. A placeholder in the host is refused outright, and a resolved destination whose host differs from the template's falls back to the template. The open-pixel and unsubscribe tokens are still never registered as links.

No schema change.

Tested up to: 6.8

Installing

Download techzapp-crm.zip below. Do not use the auto-generated source archives - they omit vendor/ and the plugin will not load.