Skip to main content
Altcraft Docs LogoAltcraft Docs Logo
User guide iconUser guide
Developer guide iconDeveloper guide
Admin guide iconAdmin guide
English
  • Русский
  • English
Login
    Getting Started
    Administrator documentation
    Functional characteristics
      Technology descriptionarrow
    • Architecture Overview
      Component Description
        Deployment schemesarrow
      • Basic scheme
        Fail-safe scheme
        Typical Placement in Infrastructure
    System requirements
      Admin Panelarrow
      • Account areaarrow
        • Accountsarrow
        • Account Users
          Account Virtual Senders
          Account Database Indexes
        Tariffs
        External data configuration
        LDAP
        Tasks
        Schedule Jobs
        Global Stop Lists
        Webversion Store Policies
        Settingsarrow
      • Databases
          Accessarrow
        • Admins
          API tokens
        Notifiers
          MTAarrow
        • Default rules
          Retry rules
          Lock rules
          Bounce patterns
          Strategies
          Keys
          ISPs
          Pools
      Nodes
        Sendersarrow
      • Email
        SMS
        Event generator
        Integration with Sendsay
        ENS: настройка сендера
        Reportsarrow
      • Audit Journal
        Data Usage
        Toolsarrow
      • ARF decoder
        URL decoder
        SMID decoder
        License
      Platform installationarrow
    • Automatic installation
      Manual installation
      Running the platform in a Docker container
      Platform configurationarrow
    • Configuration file
      Domain settings
      LDAP access configuration
      Sending Email via SMTP relay
      Pixel and push domain configuration
      Cluster and Replication Setup
      System notifications configuration
      Processes UNIX sockets configuration
      HTTPS Configuration
      Migrating from MongoDB Community Edition to Percona Server for MongoDB
      Adding sender IP addresses
      Deduplication request settings
      PostgreSQL database for account data
      Proxy server settings
      Keycloak Integration with Altcraft
      Getting HTTP service statuses
      Configuration MongoDB logs rotation
        Configuration of system constants and directoriesarrow
      • Filtering bot actions
        Directory of gender markers
      Platform maintenancearrow
    • Personnel requirements
      Platform maintenance processes
      Platform updating
      Platform service monitoring
      Backup and recovery
      Transferring the platform to a new server
      Creating, deleting, and populating tables for statistics in ClickHouse
      Usage of the aktool utility
      Users and directories engaged by the platform
      Custom channels guidearrow
    • Overview
      Creating and configuring a channel
      Entity field configuration
      Template language
      Entities
        Pipesarrow
      • Pipe: Basic Concepts
        Result
        Errors
        Log
        Pack
        Unpack
        HTTP Request
        Store Set
        Store Get
        Selector
        SQL
        Eventer
        Scheduler
        Pipelinesarrow
      • Pipeline: Basic Concepts
        Message
        Schedule
        Listener
        Moderate
        Stop
      Extraarrow
    • System page customization
      Send Message ID
      Инструкция по миграции истории в ClickHouse
      Instructions for migrating history to ClickHouse
      Utility for importing push subscriptions to Firebase project
      Utility for importing push subscriptions to Firebase project
    Processing HTTP/HTTPS traffic
      Administrator APIarrow
      • Accounts admin apiarrow
        • Restricted accessarrow
        • Account Activation and Deactivation
          Account Freeze and Unfreeze
        Get accounts list
        Add a new account
        Delete the account
        Account usersarrow
      • Update an Existing Account
        Add a new account
        Delete a user
        Get a list of users
        Sending a Welcome Email
        Nodesarrow
      • Synchronize node MTA configuration
        Get nodes list
        Get node MTA status
        Activate node MTA
        Deactivate node MTA
        Senders admin apiarrow
      • Create or update AKMTA sender
        Get AKMTA sender information
        Assign account to sender
        Get senders list
        Delete sender
        Restore sender
          Sender queuearrow
        • Get sender queue information
          Hold sender queue
          Release sender queue
          Clear sender queue
        Virtual sendersarrow
      • Get virtual senders list
        Get virtual sender information
        Create virtual sender
        Update virtual sender
        Clone virtual sender
        Delete virtual sender
    Documentation Archive
  • Platform configuration
  • Pixel and push domain configuration

Pixel and push domain configuration

Overview​

This domain is used for website visitors behavior tracking and handling push notifications subscription and delivery via HTTPS.

This standalone domain is required in any infrastructure design where you want to use behavior tracking and push notifications.it uses cookies for user identification — so it is highly advisable not to change this domain in the future.

There are two ways of pixel handling in Altcraft MP, see Infrastucture design variations for details.

The following terms are used in the article below:

  • Control server — the main server or server group of Altcraft MP, processing control panel and databases

  • cookiesaver — Altcraft MP service processing pixel and push domain

  • main.json — the main Altcraft MP configuration file, placed in config directory of Altcraft MP installation directory.

  • pxl.example.com — pixel, push and cookies domain

  • 10.20.10.0/24 — Control Server public IPs

  • 10.10.10.0/24 — Control Server private IPs

An A record is made for the pixel domain - pointing cookiesaver's IP address or load balancer's IP address.

pxl.example.com IN A 10.20.10.3

Mind that SSL usage is mandatory for the pixel domain. Examples below use letsencrypt SSL certificates.

Without proxy​

When using no proxy or balance loader — the domain's IP points to any of the Control server's network interfaces. NAT usage is also possible.

The following changes should be made in main.json configuration file:

"COOKIESAVER_PUBLIC_IP": "10.20.10.3",
"COOKIESAVER_PUBLIC_HOSTNAME": "pxl.example.com",
"COOKIESAVER_PUBLIC_PORT": 443,
"COOKIESAVER_SSL_CRT_PATH": "/etc/letsencrypt/live/pxl.example.com/fullchain.pem",
"COOKIESAVER_SSL_KEY_PATH": "/etc/letsencrypt/live/pxl.example.com/privkey.pem",

With external proxy​

A local network IP address is provided for proxying needs. SSL termination is mandatory.

The following changes should be made in main.json configuration file:

"COOKIESAVER_PUBLIC_IP": "10.10.10.3",
"COOKIESAVER_PUBLIC_HOSTNAME": "pxl.example.com",
"COOKIESAVER_PUBLIC_PORT": 443,
"COOKIESAVER_SSL_ON": false,

Note that even when SSL termination is disabled - port 443 is used. That is a system restriction.

The following configuration depends on the proxy you are going to use. Here is an example for Nginx:

server {
listen 10.20.10.3:443 ssl;
server_name pxl.example.com;
ssl on;
ssl_certificate /etc/letsencrypt/live/pxl.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/pxl.example.com/privkey.pem;
upstream cookiesaver {
least_conn;
server 10.10.10.3:443;
keepalive 1024;
}
location / {
proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_pass_header Server;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_pass http://cookiesaver;
}
}

Testing and launching​

After configuring main.json restart cookiesaver process by akd utility from Altcraft MP installation directory:

./akd onerestart cookiesaver

If no errors occur during restarting cookiesaver, the next step is to restart the platform.

./akd restart

Then you can enable Pixel and Push in Altcraft administrative panel for any service instance account.

To make sure the pixel domain is functional, check if hyperlinks in sent messages are processed within the new domain:

wget http://trk.example.com/0f1d00e4d93978fc/TdguHgCa<cut>w 2>&1 | grep Location:
Location: https://pxl.example.com:443/pixel?_open_pix=1&k=7E<cut>P5 [following]
Location: https://example.com/ [following]

Mind that pixel tracking is disabled for mailing testing. Thus you will need a segment of testing subscribers.

The following pixel and push configuration is set up in Altcraft MP user interface: pixel settings, web push: settings & implementation

Last updated on Feb 11, 2019
Previous
Sending Email via SMTP relay
Next
Cluster and Replication Setup
  • Overview
  • Without proxy
  • With external proxy
  • Testing and launching
© 2015 - 2026 Altcraft, LLC. All rights reserved.