Create offer

In Create offer you publish offers to your channels: you paste a product link, the application pulls out the title, the photo and the prices, you review the message just as it will reach the channel and you publish it right away or send it to the queue.

14 minute read

On this page

The essentials

  1. Paste the product link into Paste the link and press Extract data.
  2. Check the title and the prices it brought; if you want, add a coupon or a description.
  3. Check in Preview the message just as it will reach the channel.
  4. Press Publish to send it now, or Queue to have it go out later.

The screen always works on the active channel, the one the menu selector marks: the message template, the preview and the default header and footer all come from it. If you do not have a channel yet, a notice above the form tells you how to get one; Channels explains it.


The screen

  1. Paste the link of the product.
  2. Extract data reads the product page and fills in the form.
  3. The form: the title, the prices, the discount and the rest of the fields.
  4. Preview: the message as it will reach the channel.
  5. Publish sends it now; Queue leaves it to go out at its time.

On a narrow screen, the preview peeks out from the bottom edge while you fill in the form. Its header carries a chip with what matters —how many characters are over or left— and the arrow (See the preview), which scrolls down to it; once there, the arrow (Back to the form) takes you back up.

Scrolling down to the preview on mobile and back to the form

Paste the product link into the field and press Extract data (on a phone you will only see the magnifying glass), or press Enter in the field. The application queries the store and fills in:

  • Offer title,
  • Current price and, if there is one, the list price,
  • Image URL,
  • On Amazon, Deal ends on if the offer has a deadline (like Lightning Deals) and Releases on if the product has not gone on sale yet.

The Description field is never filled in by itself: it is yours.

Sharing from your phone

With the application installed on an Android phone, the system Share menu brings any link to this screen, which reads it by itself. On iPhone and iPad this is not possible.

If you change the link by hand

As soon as you edit the link field, what was written below it and the affiliate link that the last lookup brought are erased. Press Extract data again to have it put back.

What each lookup does to the form
  • Each lookup that fetches data first clears the previous product's title, prices, image, deal end, and release date so two offers are never mixed. If the lookup fails, the previous data stays: check it or press Clear.
  • The list price is only kept if it is higher than the current price; if the store returns one that is equal or lower, the field is left empty.
  • If you paste a text with the link inside, the lookup takes the first link it finds, but the field keeps the text: leave just the link before publishing.
  • If the link is a short one (amzn.to, amzn.eu or AliExpress short links), the field is replaced with the full link.
  • A link without https:// in front is understood just the same.

Which stores, and what it costs

It works with any store that has a public product page, not just Amazon and AliExpress. Which lookups spend credits, how many, and which spend nothing is explained in Stores and affiliation. If you run out of them, a notice below the link says so and you can keep publishing: you type the title and the price yourself.

Always check the price

Outside Amazon and AliExpress with your credentials, a field may be left empty or arrive wrong: a size, a colour or a promotion can show a different price. The preview shows you the message before you publish it: check it and correct whatever needs it.

The affiliate link is generated automatically if there is an affiliate rule for that store, if the product is from your region's Amazon and you have your tag saved, or if the lookup was done through the AliExpress API with your code. It is not shown on screen: the field keeps showing the original product link, but the link with your code is the one sent in the message.

When the link is not going to carry your code, an amber notice appears below the field. You can publish anyway: the notice only tells you that this offer will not earn you a commission.

What the notice says in each case
  • No rule covers that store: “This link will go out without your affiliate code: none is set up for ‘store.com’.”, with a shortcut to Set up affiliates to create the rule.
  • If you enter an AliExpress link by hand and have the store connected, it prompts you to press Extract data, which is the step that adds your code.
  • It is a shortened link: it also asks you to press Extract data, which opens it and puts the code in.
  • If you collaborate in somebody else's organization and cannot reach Settings › Affiliates, the notice says that whoever manages the organization can add the rule.

When nothing comes back

What happened is read below the link. In red when the link has to change; in amber when you can carry on by hand, and then the cursor jumps to the title by itself so you can type the data.

Each notice and what to do
What you see What to do
“We cannot find that product. Check that the link opens its page.” The link is not that of a specific product, the page does not exist or the application could not get either the title or the price out of it. If the link does open the page properly, type the data yourself.
“This product is not available in Spain.”, with your organization's ship-to country AliExpress sells that product but does not ship it to that country, and that read spends no credits. If you still want to publish the offer, type the title and the price yourself. The country is chosen in Settings › AliExpress.
“Could not open the shortened link. Paste the product's full link.” It happens with no connection or with the shortener down. Paste the full link.
“We could not read the product page just now. Try again in a moment or fill it in by hand.” The store did not answer in time. It is also what you see when AliExpress rejects your key: if it repeats, check its credentials.
“The store has blocked data extraction. Enter the title and the price manually.” Some large chains reject automatic reads. Insisting does not help; let us know the link from Support, because those stores can be tuned one by one.
“We could not read the product page. Write the title and the price yourself: the affiliate link is already in place.” You have an affiliate rule for that store and the lookup returned no data —because of the store, the credentials or because you ran out of credits—. Type the data: the link goes out with your code all the same.
“Amazon is switched off in Settings and the product could not be read from the web.” You have switched off Amazon's API and the web lookup could not read it either. The notice links to Settings › Amazon.
“We could not read the AliExpress product page…” Without your credentials, the page could not be read at that moment, and no credit is spent. Write the title and the price yourself, or set your credentials: the notice links to Settings › AliExpress.
A notice about Amazon credentials or the AliExpress tracking ID They are missing or invalid. You can fix them in the section linked in the notice. If Amazon rejects your account but you have saved your affiliate tag, the notice will show in amber: you can enter the title and price by hand, and the link will be published with your tag.
“You have run out of credits for reading product pages. Enter the title and the price yourself, or see Subscription for how to get more.” Type the title and the price yourself, or get more from See the subscription.

The fields

Field Required What it accepts
Product URL Yes The link to the product page. It is the field in the Paste the link block.
Offer title Yes Up to 255 characters. The first thing read in the channel.
Current price Yes Just the figure, with a comma or a period: 89,99. It has to be greater than 0.
List price No The price before the discount. It cannot be lower than the current price; if there is no reduction, leave it empty.
Coupon No One or more codes, separated by commas or spaces. Up to 100 characters.
Deal ends on No The date and time the discount ends, in your organization's time zone. Leave blank if the offer has no end date.
Releases on No The day a pre-ordered product goes on sale. Leave blank if it is already on sale: a product with this date is a pre-order.
Image URL No The address of the photo, starting with https://.
Header No Up to 50 characters. A text at the start of the message, for example a category.
Footer No Up to 250 characters. A text at the end, for example a signature or the channel link.
Description No Up to 500 characters. Extra information that goes in the body of the message.
Field formats and notices
  • Prices understand both thousands formats: 1.299,99 and 1,299.99 are the same number. They accept at most two decimals. On a phone they open the numeric keypad.
  • A list price equal to the price is accepted, but the field warns in amber that the message may go out with a 0 % discount: if there is no discount, leave it empty.
  • A repeated coupon is not accepted: “You entered ‘CODE’ twice.”.
  • Pressing Enter in any other one-line field does not publish anything.
  • If an extracted value is longer than the field allows, it is cut to the limit.
  • Dates are entered in your region's format (23/10/2026) or picked from the calendar. The Today and Tomorrow buttons are shortcuts to set the deal end. If you enter a date without a time, it defaults to 23:59.
  • These two dates only appear in the message if your template includes them. If the end time has already passed when you publish, it is omitted.

Next to Header and Footer there is a Presets button that opens your organization's preset texts; they are set up in Settings › Message. If there are none, the menu says “No preset texts”.

When you open the screen, the two fields come filled in with the active channel's default texts. As soon as you type in them or choose another preset text, that text becomes yours and is the one that gets sent; what happens to them in a send to several channels is explained in The multi-channel panel.

Clear also empties the default texts

The Clear button leaves both fields blank. To get the default text back, reload the page or choose it in the Presets menu.

When a field is flagged

A field with an error is flagged in red, with a sentence saying how to fix it, when you have typed in it and leave it, or when you press a send button.

When you press a send button every one that fails is flagged and the screen takes you to the first. Filling a field with Extract data or recovering a draft does not flag it.


Preview

Any change to the form updates the preview half a second later. It shows:

  • The image appears above the text if the URL is valid. On Telegram, if the channel sends the image as a link and your plan allows it, it is shown below the text, like the large link preview. On WhatsApp it always goes on top, as a photo. If the photo cannot be opened, you will see a notice below the field.
  • The text of the message is shown formatted with the channel's template. Links open in another tab. If the active channel is a WhatsApp one, the preview takes on the WhatsApp look: what changes.
  • The state of the message appears below and shows how much of the active channel's limit it takes. On Telegram the limit is 1,024 characters if the image goes on top as a photo and 4,096 if there is no image or it goes as a link; on WhatsApp it is 4,096 characters, with or without an image. It says “Up to date” while the text fits. From 90% of the limit it turns amber with the characters you have left, and if you go over it turns red to tell you how many are over and what is worth trimming. At the end of the line you will see the count “used / limit”.

Only the visible text counts

On Telegram, characters are counted on the visible text: bold, italics and link addresses take up no space, although some emojis count as two. On WhatsApp the whole text is counted as it is sent, including the formatting marks and the written address of each link.

With the image template switched on

If the channel has the image template switched on, the preview shows the composed image instead of the store's photo. On the free plan the preview shows it all the same, but the channel receives the product's original photo.

When the preview does not update

If a field is wrong, the preview does not disappear: it keeps showing the last good version, dimmed, with “Not updated” and how many fields are left to fix. If there was none yet, below the drawing it asks you to correct what is flagged. With no connection it says “Not updated: we could not connect.”.


The actions

The buttons are in the page header and can be reached without scrolling the form.

Action What it does
Clear Empties all the fields at once, without asking, and deletes the draft. To start another offer without reloading.
Share Opens the system share menu with the message ready. It only appears where the browser has it, which is phones and some desktop browsers.
Queue Saves the message in the active channel's queue, to go out later.
Publish Sends it right now to the active channel.
Send to several channels Only if you have more than one channel. Opens a panel to tick the destinations.

After a successful send, the screen reloads empty (restoring the channel's default texts) and a brief notice confirms it: “Published in ‘Channel’.” or “In the ‘Channel’ queue.”. Each channel the message reaches counts as one publication of the month. To see the message in the channel, there is the link in Published posts, on Home.

Queue

From Solo

Queue leaves the message saved in the active channel's queue, and from the Solo plan the queue sends it by itself, at its pace and in its schedule: Publication queue explains it. On the free plan the button saves the message all the same, but you publish it from the queue.

Sharing on any platform

Codingram publishes directly to Telegram; for everything else there is Share. It hands the message and, if the template generates it, the image to the system share menu, and from there you choose the app and the destination: WhatsApp, X, Facebook or any other app you have installed.

Codingram publishes directly to your Telegram and WhatsApp channels; for everything else there is Share. This option passes the message and the image (if the template generates it) to the system share menu, where you choose the destination: a WhatsApp chat or group, X, Facebook or any other app you have installed. The message is shared without styles —no bold, italics or strikethrough— so it arrives fine on any platform, and with the links in full.

If the offer's image comes from the store instead of being generated by the template, only the text is shared, with the link inside. What you share is not recorded in the queue or in Published posts. If there is no preview yet because a required field is missing, Share flags them just as Publish does; if there already was one, it shares the last good version, so check that it is up to date.

When it cannot be published

Publish is disabled in two cases, and a notice above the form explains it:

  • The organization's owner has not confirmed their email, and without that nothing is published. If it is you, the notice carries Resend the confirmation email (or Add an email, if you have none); if not, it says that its owner has to confirm it. Access and account explains it.
  • The month's publications have run out. The notice says from which day they start again and which plan would give more. Queue still works: from the Solo plan, what you prepare goes out by itself when the month begins; on the free plan, you publish it from the queue from that day on.

When a fifth or less of the month's publications is left, a blue notice announces it: “You have 12 publications left this month. They start again on June 1.”.

Other notices that can appear above the form

Above the form also come, when they apply, the notice about the setup left unfinished and, if Telegram rejects the bot's token, a red one that takes you to Settings › Connections to change it, or tells you that whoever administers the organization fixes it if you cannot open that section. If in your plan the queue sends by itself, whatever you send to it meanwhile goes out once it is fixed.

What it tells you when you send

What happens when you publish or send to the queue is read in a notice above the form, with a button to carry on when there is one:

  • The bot is missing on a Telegram channel: Connect the bot.
  • A WhatsApp channel has nothing to publish with: you will see the reason “The organization's WhatsApp number is not connected or does not manage this channel. Check it in Settings > Connections.” The steps to fix it are in If the number disconnects.
  • You have no channel: Go to channels. The channel lacks its ID: Complete channel.
  • You have ticked more channels than your plan allows per send: See plans.
  • If no channel accepted the message: you will see “Not published”, the reason and the Try again button. If the failure has no specific cause, the reason will be “We couldn't publish just now. Try again in a few minutes.”
  • It went out in some channels and not in others: “Published to 2 of 3 channels.”, the list of those that failed with their reason, and Try again only on those.
  • A failure on our side or no connection: “What you wrote is still here” and Try again. Nothing is lost.
  • It went out, but the shortener could not shorten the link: you will see “It went out with the link not shortened.” and the reason.

A problem with a field never goes in that notice: it is flagged below the field.


The multi-channel panel

From Creator

Send to several channels, to the right of the page header actions, opens a panel with one checkbox per channel. Inside, Queue and Publish appear again: those act on the ticked channels and say so with a count —“Queue (2)”, “Publish to 2”—; the ones in the page header act on the active channel, just one. With no checkbox ticked, the panel asks “Tick at least one channel.”.

  1. Send to several channels, at the end of the page header.
  2. One checkbox per channel; until you send to several, the active one comes ticked.
  3. Queue, with how many channels you have ticked.
  4. Publish to, with how many channels you have ticked.
  5. The ones in the page header, which act only on the active channel.

How many channels one send can reach is decided by the plan: one on the free plan and on Solo, three on Creator and twelve on Agency, and on Creator and Agency also the additional channels you buy. With more ticked, the send is rejected and the notice says which plan raises the limit.

  • Each channel receives the message with its own template, so the same product can go out in a different format in each.
  • If you do not touch the header and the footer, each channel uses its default texts; if you type in them, that text is sent as it is to all of them.
  • Queue with several channels puts a copy of the message in each one's queue, with its template and its affiliate link; a channel's own code is explained in Stores and affiliation.
  • The preview is measured channel by channel, because each one has its own template: below it tells you in which ones it would not fit (“In ‘Channel’ it is 40 characters too long.”).
Fine print: sending to several channels
  • Channels with no ID appear disabled and marked: you cannot choose them as a destination until you fill in the field. This only happens on Telegram; a WhatsApp channel always has one.
  • The panel remembers the channels you ticked the last time you sent to two or more, on another device too.
  • History belongs to each channel: a product having already been published in one channel does not stop you from publishing it in another.

The draft

What you type is saved by itself in the browser. If you reload the page, change channel or come back later in the same tab, the form appears just as you left it and a notice says so: “We have brought back what you were writing”.

Fine print: when the draft is lost and what it does not keep
  • The draft belongs to that tab: another tab starts empty, and closing the tab forgets it. It expires after seven days.
  • It is deleted when you press Clear and when you successfully publish, queue or save. After a failed send it is kept.
  • When you arrive from the phone's Share menu it is not recovered: the screen opens with the shared link.
  • Editing a queued message has its own draft, separate from the new offer's.
  • The checkboxes in the multi-channel panel are not part of the draft.

Editing from the queue or from manual handling

When you come in from the Edit button in the queue, the screen switches to edit mode:

  • The fields are filled in with the saved message and the preview loads by itself.
  • The title becomes Edit offer.
  • The page header keeps Clear and Save, which updates the message and returns you to the queue with the notice “Message updated”. There is no Queue, Publish, Share or multi-channel send.
If the message is gone or no longer valid
  • If the message is no longer in the queue —it went out at its time or somebody deleted it—, the notice says so. If it happens before you open it, pressing Edit takes you back to the queue; if it happens while you are editing, saving offers Create a new offer, which opens Create offer empty: what you had changed does not carry over, so copy it first.
  • A message that no longer meets the rules of an offer —price at 0, list price lower than the price— opens with the failing field flagged in red and, in the preview, “Fix what is marked to see the message.”, so you can correct it and save.

From the manual handling of a search profile you arrive in the same way: the offer comes filled in, the page header adds Cancel to go back, and when you publish or queue it the product is marked as handled in that channel.

Install Codingram Opens like an app, no app store needed