- About the Peikly Plugin
- Plugin Requirements
- Install the Peikly Plugin
- Connect WordPress to Peikly
- Choose Which Events to Send
- Events the Plugin Sends
- Marketing Channels on Posts and Products
- Send a Test Event
- Request Tracking
- Disconnect, Deactivate or Delete the Plugin
- What the Plugin Sends to Peikly and Stores in WordPress
- Plugin Troubleshooting
- Plugin FAQ
About the Peikly Plugin #
Peikly is the official WordPress plugin for the Peikly marketing automation platform. It is built and maintained by the Peikly team, the same team that runs peikly.com and the Peikly app at app.peikly.com.
The plugin connects your WordPress site, and your WooCommerce store if you have one, to your Peikly account. It sends the store and site activity you choose (new customers, orders, abandoned carts, product views, new blog posts and products) to Peikly as events. In Peikly, those events start your automation workflows: a WhatsApp or email message after an abandoned cart, a thank-you after a first order, or a social media post when you publish a new blog post or product.
The plugin does nothing on its own. It needs a Peikly account, and it only talks to Peikly.
Plugin Requirements #
- WordPress 6.0 or later and PHP 7.4 or later, with the PHP OpenSSL extension (used to encrypt your connection key). Most hosts have it enabled.
- A WordPress user who can manage plugins and settings (an Administrator).
- A Peikly account. Connecting uses a Peikly API token, which needs API access in your plan; running workflows from events needs automation in your plan (Platform Limits and Quotas).
- WooCommerce is optional. Without it, the plugin sends customer (WordPress user) and blog post events only.
Install the Peikly Plugin #
- In WordPress admin, go to Plugins → Add New Plugin.
- Search for Peikly, click Install Now, then Activate.
- A Peikly item appears in the WordPress admin menu, with Setup and Request Tracking under it. The Settings link on the Plugins page also opens Setup.
You can also install it from a ZIP file: Plugins → Add New Plugin → Upload Plugin, choose the file, then Install Now and Activate.
Connect WordPress to Peikly #
Open Peikly → Setup. While the site is not connected, the page shows Connect WordPress to Peikly with two options.
Option 1: Guided Setup (recommended). Use this if you do not have a Peikly account yet, or want Peikly to set things up for you.
- Select Guided Setup and click Open Peikly Onboarding.
- The Peikly setup wizard opens in a new browser tab. Create your account or sign in, and follow the steps (your business, your channels, and email or WhatsApp setup if you want them now). See 3. Get Started Wizard for each step.
- At the end, Peikly sends you back to WordPress with a one-time code. The plugin exchanges it for your API token automatically; nothing to copy or paste. The code expires after five minutes and works only once.
- The Setup page now shows WordPress is connected to Peikly and a Connected badge with the first characters of the token.
Option 2: API Token. Use this if you already have a Peikly account.
- In Peikly, go to Settings → Company Settings → Third-Party Tokens and create a token for this site (7.3 Third-Party API Tokens). Copy it straight away; Peikly shows it only once.
- In WordPress, on Peikly → Setup, select API Token, paste the token, and click Save Connection.
- The page shows Connected.
The token is encrypted with your site’s own WordPress security keys before it is saved, and it is never shown again. If you lose it, create a new one in Peikly and connect again.
Choose Which Events to Send #
Once connected, the Event Families card on the Setup page lists five families. All five are on when you first connect. Turn off any you do not want and click Save Event Settings.
| Family | What it covers |
|---|---|
| Customers | Registrations and profile changes of WordPress users |
| Orders | New orders, completions, cancellations and refunds (WooCommerce) |
| Cart & Checkout | Checkout activity, cart changes and abandoned carts (WooCommerce) |
| Products | Product views, and new or updated products you choose to send (WooCommerce) |
| Blog Posts | New or updated posts you choose to send, and deleted posts |
Nothing is sent while the site is not connected, and nothing from a family that is turned off.
Events the Plugin Sends #
| Event | Family | When it is sent |
|---|---|---|
| Customer created | Customers | A new WordPress user account is created (any role, including customers registering at checkout) |
| Customer updated | Customers | A user’s profile is saved |
| Customer deleted | Customers | A user account is deleted |
| First order placed / Repeat order placed | Orders | A new WooCommerce order is created. It is a repeat order when the same customer (account or billing email) has ordered before |
| Checkout completed | Orders | The customer reaches the order confirmation page |
| Order completed / cancelled / refunded | Orders | The order’s status changes to completed or cancelled, or a refund is made |
| Cart recovered | Orders | A customer places an order within 7 days after their cart was reported as abandoned. They are recognised by their shopping session or their billing email, so signing in at checkout still counts. Each abandoned cart is recovered at most once |
| Checkout started | Cart & Checkout | The checkout page is opened |
| Product added to cart / removed from cart | Cart & Checkout | A product is added to or removed from the cart |
| Cart abandoned | Cart & Checkout | A cart has had no change for an hour and its owner has not placed an order in that time. Emptying the cart stops this |
| Product viewed | Products | A product page is viewed. Only the first view of each product in each hour is sent; later views in the same hour are skipped. No customer details are attached |
| Product published / Product updated | Products | Only when you tick the confirmation box in Marketing Channels while publishing or updating a product (see below) |
| Post published / Post updated | Blog Posts | Only when you tick the confirmation box in Marketing Channels while publishing or updating a post |
| Post deleted | Blog Posts | A post is permanently deleted (moving it to the Trash does not send anything) |
In Peikly, these arrive as the store and website triggers of your workflows, for example Cart Abandoned, First Order Placed or Post Published (11.8, 21.3).
Events are sent in the background. The plugin records each event and sends it a moment later, so your visitors’ pages never wait for Peikly. Background sending uses WooCommerce’s Action Scheduler when WooCommerce is active, and WordPress’s built-in scheduler (WP-Cron) otherwise. Events usually arrive within a minute. If your site has very few visitors, or WP-Cron is switched off without a real cron job in its place, they can take longer.
Marketing Channels on Posts and Products #
When the site is connected, the post and product edit screens have a Marketing Channels (Peikly) box. Use it to decide, for each save, whether this post or product should start Peikly workflows, for example to email your subscribers, broadcast on WhatsApp, or publish to Instagram, Facebook or Pinterest.
- Open a post or product and find the Marketing Channels (Peikly) box.
- Turn on Send to Peikly and trigger the selected workflows on this save. The channel tabs appear.
- Choose a channel tab (Email, WhatsApp, Instagram, Facebook, Pinterest or LinkedIn). A tab your Peikly plan does not include says Not included in your plan; a channel that is not available yet says Coming soon.
- Pick a workflow from the list. A preview shows what the message or post will look like with this post’s content, laid out for that platform.
- Repeat for any other channels, then click Publish or Update.
This box must be ticked for every save you want to send. If you save again later with the box unticked, nothing is sent, however many times you save. A first publish starts workflows with the Post Published or Product Published trigger; saving something already published starts Post Updated or Product Updated workflows.
Available placeholders. Below the preview, a table lists the placeholders for this trigger (for example the post’s title, link or image) with a description and an example. Click one to copy it, then paste it into the workflow’s message or caption in Peikly.
Why isn’t my workflow listed? A workflow appears in the list only when:
- its trigger in Peikly is exactly the one shown (for example Post Published);
- it is Active and its latest version is published;
- for Email or WhatsApp, its step is Start Email Campaign / Start WhatsApp Campaign or Trigger Broadcast, not a direct "Send message" or "Send email" step, because a new post is not about one particular contact;
- for a social channel, it has a Publish Instagram Post, Publish Facebook Post (and so on) step for a connected account of that platform.
The box reads from Peikly which channels and workflows you have, and sends the post’s details to Peikly to draw the preview. Your API token never reaches the browser; the plugin makes these requests from your server.
Send a Test Event #
On Peikly → Setup, the Test Integration card sends a signed test request:
- Choose an Event type. Subject type and Subject ID are filled in for you.
- Click Send Test Event. You are taken to Request Tracking to see the result.
Test events carry sample data (a sample customer customer@example.com and a sample order or product) and are marked as tests. Peikly treats them like real events, so an active workflow with a matching trigger will run. Test with that workflow switched off, or with a workflow made for testing.
Request Tracking #
Peikly → Request Tracking lists every delivery attempt, newest first. You can search, and filter by status and event. Each row shows the event, its subject (for example order #1234), the status, the HTTP response code, the number of attempts, Peikly’s reply, and when it was last updated.
| Status | Meaning |
|---|---|
queued | Recorded and waiting to be sent in the background, usually within a minute |
sent | Peikly received the event |
duplicate | Peikly had already received this exact event, so it was not processed again. Normal if you repeat a test |
retry | A temporary problem (no connection, Peikly busy, or a rate limit). The plugin tries again automatically with growing gaps, up to every six hours |
failed | Peikly refused the event, for example because the token is no longer valid. It is not retried automatically |
Click Retry on a row to send it again now, after fixing the cause. The page shows the latest 100 deliveries; the plugin keeps the latest 500 and deletes older ones automatically.
Disconnect, Deactivate or Delete the Plugin #
- Disconnect: on Setup, click Disconnect from Peikly. The token is removed from your site and events stop. Your workflows and data in Peikly are not affected. To also revoke the token itself, delete it in Peikly (7.3).
- Deactivate: on the Plugins page. Events stop and automatic retries pause. Your settings are kept, so reactivating continues where you left off, including pending retries.
- Delete: deactivate, then delete on the Plugins page. This removes everything the plugin stored in your site: the settings and encrypted token, the Request Tracking log, the Marketing Channels choices on posts and products, and any pending retries or abandoned-cart checks.
Deleting the plugin does not delete data already delivered to Peikly. To remove that, delete the contacts in Peikly, or request deletion of your company data (22. Data Portability).
What the Plugin Sends to Peikly and Stores in WordPress #
The plugin uses one external service: Peikly, at https://app.peikly.com, operated by Peikly. It connects to no other service.
When it contacts Peikly:
- when you connect through Guided Setup (to open the Peikly setup wizard and exchange the one-time code for your token);
- when an event from a family you turned on happens (see the table above), when a delivery is retried, and when you send a test event;
- when you use the Marketing Channels box (to list your channels, workflows and placeholders, and to show a preview, for which the post’s details are sent).
What it sends:
- With every event: the event type and time, and your site’s details: a random site ID created by the plugin, the site name and address, and the plugin, WordPress and WooCommerce versions.
- Customer details (Customers, Orders and Cart & Checkout events): customer ID, email address, name, phone number from the billing address, and for WordPress users also their display name and roles.
- Order details: order number, status, payment status, total, currency, and each item’s product ID, SKU, name, quantity and total.
- Cart details: cart total, currency, number of items, and the link to the cart page.
- Product details: product ID, SKU, name, price, link, short description, main image link and categories.
- Post details: post ID, title, link, excerpt, featured image link, categories, publish and update dates, and the author’s name and email address.
Product view events carry no customer details.
All requests use HTTPS and are signed with your token, so Peikly can verify they came from your site and were not changed or replayed.
What it stores in your WordPress database: its settings (including the encrypted token and which families are on), the Request Tracking log (the latest 500 deliveries, including the data that was sent), the Marketing Channels choices for each post and product, carts being watched for abandonment (with the shopper’s details, for up to three hours), and a marker for each abandoned cart kept for seven days to recognise a later order. All of it is removed when you delete the plugin.
Your customers’ privacy. Because the plugin sends customer details to Peikly, mention Peikly (or "our marketing automation provider") in your site’s privacy policy. Peikly processes this data on your behalf under its policies:
Plugin Troubleshooting #
| Message or symptom | Why it happens | How to fix |
|---|---|---|
Peikly requires the PHP OpenSSL extension to store your connection securely… | Your server’s PHP has no OpenSSL, so the token cannot be encrypted. The plugin refuses to store it unencrypted | Ask your host to enable OpenSSL, then connect again |
Auto-connect failed. Please connect manually by pasting your API token. | The one-time code from Guided Setup could not be exchanged (it expired after five minutes, was already used, or your server could not reach Peikly) | Use API Token instead, with a new token from Peikly |
No API token provided. Please paste your token and try again. | Save Connection was clicked with an empty box | Paste the token |
Connect Peikly before sending test events. | The site is not connected | Connect first |
| The Peikly setup tab does not open | The browser blocked the new tab | Allow pop-ups for your WordPress admin and click Open Peikly Onboarding again |
| Connected, but nothing appears in Request Tracking | The family is turned off, or nothing has happened yet | Check Event Families on Setup, then send a test event |
failed with HTTP 401 | The token was deleted or revoked in Peikly | Disconnect, create a new token in Peikly, and connect again |
failed with HTTP 403 | Your Peikly plan does not include API access, or the token cannot be used for this | Check your plan in Peikly; connect again with a new token |
failed with HTTP 400 | Peikly rejected the request, for example a signature or clock problem | Check that your server’s clock is correct, then connect again with a new token |
queued or retry that never turns into sent | Your server cannot reach Peikly, or WP-Cron does not run on your site | Check outgoing connections from your server; make sure WP-Cron (or a real cron job) runs |
Could not load Peikly channels… in Marketing Channels | Your server could not reach Peikly, or the token is no longer valid | Check the connection on Setup; administrators see the detailed reason in the message |
No matching workflows found. Create one in Peikly first. | No active workflow fits this channel and trigger | Read Why isn’t my workflow listed? in the box, and fix the workflow in Peikly |
An event is sent but no workflow ran | The workflow is not active, or its trigger does not match the event | Check the workflow in Peikly (11. Automation Workflows) and its execution history |
| A post or product was saved but nothing was sent | The confirmation box was not ticked for that save | Tick Send to Peikly and trigger the selected workflows on this save and update again |
Plugin FAQ #
Is this plugin made by Peikly? Yes. It is the official, first-party integration, developed and maintained by the team behind peikly.com. It works only with a Peikly account.
Do I need WooCommerce? No. Without WooCommerce you get customer and blog post events. Order, cart, checkout and product events need WooCommerce.
Will the plugin slow down my store? No. Events are recorded and sent in the background, so a visitor’s page never waits for Peikly to answer. Repeated views of the same product are sent at most once an hour.
Does the plugin send anything before I connect it? No. Nothing is sent until the site is connected, and then only for the families you leave on.
Can I see exactly what was sent? Yes. Every delivery is listed in Request Tracking.
Does saving a post send it to Peikly every time? No. Posts and products are sent only for a save where you tick the confirmation box in Marketing Channels.
I lost my API token. Can I get it back? No; it is stored encrypted and never shown again. Create a new token in Peikly and connect again.
How do I stop everything? Click Disconnect from Peikly on Setup, or deactivate the plugin. Deleting the plugin also removes everything it stored in your site.