Custom Fields & Merge Tags
Custom fields extend the subscriber record with arbitrary data. Definitions live in om_custom_fields; values in om_subscriber_meta.
Field Types
text, number, date, select, checkbox, url, phone
PHP API
php// Define a new field
$field_id = OM_Custom_Fields::create([
'label' => 'Company',
'key' => 'company', // used in merge tags: {{company}}
'type' => 'text',
'required' => false,
'show_on_form' => true,
]);
// Set a value for a subscriber
OM_Custom_Fields::set_value( $subscriber_id, 'company', 'Acme Corp' );
// Get a value
$company = OM_Custom_Fields::get_value( $subscriber_id, 'company' );
// Get all values for a subscriber (keyed by field key)
$meta = OM_Custom_Fields::get_all_values( $subscriber_id );
Merge Tags in Campaign Content
All subscriber columns and custom fields are available as merge tags:
{{first_name}} — subscriber first name
{{last_name}} — subscriber last name
{{email}} — subscriber email
{{unsubscribe_url}} — personalised unsubscribe link
{{company}} — custom field (key = 'company')
{{lead_score}} — current lead score
{{lifecycle_stage}} — current lifecycle stage
WooCommerce merge tags (when WC is active):
{{wc_order_items}} — last order line items HTML
{{wc_order_total}} — last order total
{{wc_store_url}} — WooCommerce shop URL
{{wc_product_name}} — last purchased product name
RSS feed merge tags:
{{rss_latest_title}} — newest feed item title
{{rss_latest_url}} — newest feed item URL
{{rss_latest_excerpt}} — first ~200 chars of description
{{rss_latest_items_5}} — HTML list of last 5 items (replace 5 with 1–20)
{{rss_feed_title}} — feed/site title
Filter to Add Custom Merge Tags
phpadd_filter( 'om_merge_tags', function( array $tags, int $subscriber_id ): array {
$tags['my_custom_tag'] = get_user_meta( $subscriber_id, 'my_data', true );
return $tags;
}, 10, 2 );